LinearProgressIndicator Flutter Usage

前端 未结 4 1640
天涯浪人
天涯浪人 2021-02-20 11:06

I am learning Flutter allthought i dont know if it is right decition or not. Any way i want to use LinearProgressIndicator Component from Material Librery but i didnt get how t

4条回答
  •  一个人的身影
    2021-02-20 11:58

    You are not using animation object.

    import 'dart:async';
    import 'package:flutter/material.dart';
    
    void main() {
      runApp(new MaterialApp(
        debugShowCheckedModeBanner: false,
        home: new MyApp(),
      ));
    }
    
    class MyApp extends StatefulWidget {
      @override
      MyAppState createState() => new MyAppState();
    }
    
    class MyAppState extends State {
      @override
      Widget build(BuildContext context) {
        return new Scaffold(
          appBar: new AppBar(
            title: new Text('Slider Demo'),
          ),
          body: new Container(
            color: Colors.blueAccent,
            padding: new EdgeInsets.all(32.0),
            child: new ProgressIndicatorDemo(),
          ),
        );
      }
    }
    
    class ProgressIndicatorDemo extends StatefulWidget {
    
      @override
      _ProgressIndicatorDemoState createState() =>
          new _ProgressIndicatorDemoState();
    }
    
    class _ProgressIndicatorDemoState extends State
        with SingleTickerProviderStateMixin {
      AnimationController controller;
      Animation animation;
    
      @override
      void initState() {
        super.initState();
        controller = AnimationController(
            duration: const Duration(milliseconds: 2000), vsync: this);
        animation = Tween(begin: 0.0, end: 1.0).animate(controller)
          ..addListener(() {
            setState(() {
              // the state that has changed here is the animation object’s value
            });
          });
        controller.repeat();
      }
    
    
      @override
      void dispose() {
        controller.stop();
        super.dispose();
      }
    
      @override
      Widget build(BuildContext context) {
        return new Center(
            child: new Container(
              child:  LinearProgressIndicator( value:  animation.value,),
    
            )
        );
      }
    
    }
    

提交回复
热议问题