自定义垂直marquee插件
用来向上垂直滚动列表(一般滚动公告)
-
自定义类:
import 'dart:async'; import 'package:flutter/material.dart'; class Marquee extends StatefulWidget { final List<String> textList; final List<TextSpan> textSpanList; final double fontSize; final Color textColor; final TextAlign textAlign; final Duration scrollDuration; final Duration stopDuration; final bool tapToNext; final MarqueeController controller; const Marquee({ Key key, this.textList = const [], this.textSpanList = const [], this.textAlign = TextAlign.left, this.fontSize = 14.0, this.textColor = Colors.black, this.scrollDuration = const Duration(seconds: 1), this.stopDuration = const Duration(seconds: 3), this.tapToNext = false, this.controller, }) : super(key: key); @override _MarqueeState createState() => _MarqueeState(); } class _MarqueeState extends State<Marquee> with SingleTickerProviderStateMixin { double percent = 0.0; int current = 0; List<String> get textList => widget.textList; List<TextSpan> get textSpanList => widget.textSpanList; Timer stopTimer; AnimationController animationConroller; MarqueeController get controller => widget.controller; @override void initState() { super.initState(); animationConroller = AnimationController(vsync: this