Как реализовать анимацию, такую ​​как закрытие mov ie кредитов в флаттере? - PullRequest
0 голосов
/ 18 января 2020

Я хочу сделать анимированный просмотр прокрутки, как закрытие mov ie кредитов в флаттере. Вот что я делаю.

enter image description here

Это то, что я хочу сделать.

enter image description here

Мой код:

import 'package:flutter/material.dart';

class AutoScrollPage extends StatefulWidget {
  @override
  AutoScrollPageState createState() => AutoScrollPageState();
}

class AutoScrollPageState extends State<AutoScrollPage> with TickerProviderStateMixin {
  ScrollController _scrollController = ScrollController();
  bool scroll = true;
  int speedFactor = 20;


  _scroll() {
    double maxExtent = _scrollController.position.maxScrollExtent;
    double distanceDifference = maxExtent - _scrollController.offset;
    double durationDouble = distanceDifference / speedFactor;

    _scrollController.animateTo(_scrollController.position.maxScrollExtent,
        duration: Duration(seconds: durationDouble.toInt()),
        curve: Curves.linear);
  }

@override
  void initState() {
    WidgetsBinding.instance.addPostFrameCallback((_) {
      _scroll();
    });
    super.initState();
  }

    @override
  void dispose() {
    ///Don't forget to clean up resources when you are done using it
    _scrollController.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {

    String val = '''
BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE.BUNCH OF TEXT HERE.BUNCH OF TEXT HERE.BUNCH OF TEXT HERE.BUNCH OF TEXT HERE.BUNCH OF TEXT HERE.BUNCH OF TEXT HERE. BUNCH OF TEXT HERE.v 
BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE.BUNCH OF TEXT HERE.BUNCH OF TEXT HERE.BUNCH OF TEXT HERE.BUNCH OF TEXT HERE.BUNCH OF TEXT HERE.BUNCH OF TEXT HERE. BUNCH OF TEXT HERE.v 
BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE.BUNCH OF TEXT HERE.BUNCH OF TEXT HERE.BUNCH OF TEXT HERE.BUNCH OF TEXT HERE.BUNCH OF TEXT HERE.BUNCH OF TEXT HERE. BUNCH OF TEXT HERE.v 
BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE. BUNCH OF TEXT HERE.BUNCH OF TEXT HERE.BUNCH OF TEXT HERE.BUNCH OF TEXT HERE.BUNCH OF TEXT HERE.BUNCH OF TEXT HERE.BUNCH OF TEXT HERE. BUNCH OF TEXT HERE.v 
''';
    return Scaffold(
      backgroundColor: Colors.black,
      body: SingleChildScrollView(
          controller: _scrollController,
          child: Text(
            val,
            maxLines: 1000,
            style: TextStyle(color: Colors.yellow, fontSize: 25.0),
          ),
        ),
    );
  }
}

Примечание. Когда мой ScrollView завершит работу. Это прекратить прокрутку. Но во втором примере видео текст никогда не останавливается. Он движется в космос, пока не станет очень маленьким.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...