Flutter跑马灯效果插件marquee_view的使用
Flutter跑马灯效果插件marquee_view的使用
一个简单且易于使用的跑马灯插件
- 支持从任何小部件到跑马灯。
- 支持交互,并可以响应子组件事件。
- 支持其他基本功能。
MarqueeView
参数名称 | 类型 | 描述 | 必填 | 默认值 |
---|---|---|---|---|
child | Widget | 是 | - | |
width | double | 跑马灯宽度 | 否 | null |
height | double | 跑马灯高度 | 否 | null |
backgroundColor | Color | 背景色 | 否 | null |
controller | MarqueeController | 控制器 | 否 | null |
direction | MarqueeDirection | 滚动方向 | 否 | MarqueeDirection.rtl |
padding | double | 内容在滚动方向上的填充 | 否 | 0 |
spacing | double | 跑马灯内子组件之间的间距 | 否 | 100 |
pps | double | 每秒像素数 | 否 | 30 |
autoStart | bool | 自动开始 | 否 | true |
autoStartDelayed | Duration | 自动开始延迟时间 | 否 | 100毫秒 |
interaction | bool | 交互 | 否 | false |
restartAfterInteraction | bool | 交互停止后重新开始 | 否 | true |
restartAfterInteractionDelayed | Duration | 交互停止后重新开始的延迟时间 | 否 | 1秒 |
基本用法
final marqueeController = MarqueeController();
// marqueeController.start();
// marqueeController.stop();
// marqueeController.reset();
MarqueeView(
height: 44,
// direction: MarqueeDirection.rtl,
// padding: screenWidth,
spacing: 200,
pps: 30,
autoStart: true,
// interaction: true,
// restartAfterInteraction: true,
// restartAfterInteractionDelayed: const Duration(seconds: 1),
child: const Text(
"A long time ago, I had a dream, I want this day, no longer cover my eyes, I want this land, no longer bury my heart.",
),
);
更多关于Flutter跑马灯效果插件marquee_view的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复
更多关于Flutter跑马灯效果插件marquee_view的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
marquee_view
是一个用于在 Flutter 应用中实现跑马灯效果的插件。它可以让你在有限的空间内展示超出屏幕宽度的文本或内容,并通过滚动的方式显示完整内容。
安装
首先,你需要在 pubspec.yaml
文件中添加 marquee_view
插件的依赖:
dependencies:
flutter:
sdk: flutter
marquee_view: ^1.0.0 # 请查看最新版本
然后运行 flutter pub get
来安装依赖。
基本使用
marquee_view
提供了一个 MarqueeView
组件,你可以将它放在你的 UI 中来实现跑马灯效果。
import 'package:flutter/material.dart';
import 'package:marquee_view/marquee_view.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Marquee View Example'),
),
body: Center(
child: MarqueeView(
text: 'This is a scrolling text example using marquee_view!',
style: TextStyle(fontSize: 20.0, color: Colors.black),
speed: 50.0, // 滚动速度
),
),
),
);
}
}
参数说明
text
: 要显示的文本内容。style
: 文本的样式,可以设置字体大小、颜色等。speed
: 滚动速度,单位为像素/秒。direction
: 滚动方向,默认为MarqueeDirection.ltr
(从左到右),也可以设置为MarqueeDirection.rtl
(从右到左)。pauseDuration
: 每次滚动开始前的暂停时间。scrollDuration
: 每次滚动的持续时间。repeat
: 是否重复滚动,默认为true
。
自定义滚动内容
除了文本,你还可以滚动自定义的 Widget。使用 MarqueeView.builder
可以滚动任意的 Widget。
MarqueeView.builder(
itemBuilder: (BuildContext context, int index) {
return Container(
margin: EdgeInsets.symmetric(horizontal: 10.0),
child: Icon(Icons.star, color: Colors.yellow, size: 30.0),
);
},
itemCount: 10, // 滚动的内容数量
speed: 50.0,
)