flutter 주마등

7134 단어
flutter_marquee
flutter 플러그인
flutter 주마등은 주마등의 방향을 지정하여 수조로 전송할 수 있으며, 사용자 정의widget은 주마등의 시간 간격을 제어하고 클릭 이벤트를 제어할 수 있다.
효과도
QQ20181206-234225.gif
git
https://github.com/LiuC520/flutter_marquee
도입:
dependencies:
  flutter:
    sdk: flutter
  flutter_marquee:
    git: https://github.com/LiuC520/flutter_marquee.git

등록 정보
Attribute 속성
설명
children
사용자 정의widget 구성 요소 그룹
texts
문자열 배열을 가져올 수도 있습니다.
seletedTextColor
현재 텍스트의 색을 표시합니다. 텍스트가 있어야 적용됩니다.
textColor
기타 text 색상은 texts 값만 적용됩니다
duration
주마등 전환 시간 기본 4초
itemDuration
단일 item 애니메이션이 나타나거나 종료되는 시간은 기본적으로 500밀리초입니다
autoStart
애니메이션을 자동으로 시작할지 여부
animationDirection
기본적으로 위에서 아래로 전환되는 애니메이션 전환: AnimationDirection.l2r、AnimationDirection.r2l、AnimationDirection.t2b、AnimationDirection.b2t
animateDistance
이동 거리: 설정이 없으면 기본적으로 구성 요소의 넓이를 가져오고, 가로 애니메이션은 구성 요소의 넓이, 세로 애니메이션은 구성 요소의 높이를 가져옵니다
singleLine
단일행 표시인지 여부: 기본값은false
onChange
이벤트 리셋 클릭: 리셋의 매개 변수는 주마등의widget 아래 표시입니다
Example
1. 먼저pubspec.yaml에 의존 추가
dependencies:
  flutter:
    sdk: flutter
  flutter_marquee:
    git: https://github.com/flutter_marquee/flutter_marquee.git

    import 'package:flutter_marquee/flutter_marquee.dart';


          Column(
            children: [
              Column(
                children: [
                  Text("    ,    6 ,         "),
                  Container(
                    margin: EdgeInsets.all(4),
                    height: 60,
                    width: 200,
                    decoration: BoxDecoration(
                        border: Border.all(width: 2, color: Colors.red),
                        borderRadius: BorderRadius.all(Radius.circular(8))),
                    child: FlutterMarquee(
                        texts: ["  ", "  1111", "  2222", "  3333"].toList(),
                        onChange: (i) {
                          print(i);
                        },
                        duration: 4),
                  )
                ],
              ),
              Column(
                children: [
                  Text("    ,    8 ,        text widget"),
                  Container(
                    margin: EdgeInsets.all(4),
                    height: 60,
                    width: 200,
                    decoration: BoxDecoration(
                        border: Border.all(width: 2, color: Colors.red),
                        borderRadius: BorderRadius.all(Radius.circular(8))),
                    child: FlutterMarquee(
                        children: [
                          Text(
                            "  ",
                            style: TextStyle(color: Colors.red),
                          ),
                          Text("  1111", style: TextStyle(color: Colors.green)),
                          Text("  2222", style: TextStyle(color: Colors.blue)),
                          Text("  3333",
                              style: TextStyle(color: Colors.yellow)),
                        ],
                        onChange: (i) {
                          print(i);
                        },
                        animationDirection: AnimationDirection.t2b,
                        duration: 8),
                  )
                ],
              ),
              Column(
                children: [
                  Text("    ,    2 ,    view"),
                  Container(
                    margin: EdgeInsets.all(4),
                    height: 60,
                    width: 200,
                    decoration: BoxDecoration(
                        border: Border.all(width: 2, color: Colors.red),
                        borderRadius: BorderRadius.all(Radius.circular(8))),
                    child: FlutterMarquee(
                        children: [
                          Center(
                            child: Row(
                              children: [
                                Icon(Icons.menu),
                                Text(
                                  "  ",
                                  style: TextStyle(color: Colors.green),
                                ),
                              ],
                            ),
                          ),
                          Center(
                            child: Row(
                              children: [
                                Icon(Icons.add),
                                Text(
                                  "  1111",
                                  style: TextStyle(color: Colors.red),
                                ),
                              ],
                            ),
                          ),
                          Center(
                            child: Row(
                              children: [
                                Icon(Icons.satellite),
                                Text(
                                  "  2222",
                                  style: TextStyle(color: Colors.blue),
                                ),
                              ],
                            ),
                          ),
                          Center(
                            child: Row(
                              children: [
                                Icon(Icons.format_align_justify),
                                Text("  3333",
                                    style: TextStyle(color: Colors.yellow)),
                              ],
                            ),
                          ),
                        ],
                        onChange: (i) {
                          print(i);
                        },
                        animationDirection: AnimationDirection.l2r,
                        duration: 2),
                  )
                ],
              ),
              Column(
                children: [
                  Text("    ,    6 "),
                  Container(
                    margin: EdgeInsets.all(4),
                    height: 60,
                    width: 200,
                    decoration: BoxDecoration(
                        border: Border.all(width: 2, color: Colors.red),
                        borderRadius: BorderRadius.all(Radius.circular(8))),
                    child: FlutterMarquee(
                        texts: ["  ", "  1111", "  2222", "  3333"].toList(),
                        onChange: (i) {
                          print(i);
                        },
                        animationDirection: AnimationDirection.r2l,
                        duration: 6),
                  )
                ],
              ),

좋은 웹페이지 즐겨찾기