加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

android – LinearProgressIndicator Flutter用法

发布时间:2020-12-14 14:50:37 所属栏目:百科 来源:网络整理
导读:我正在学习Flutter allthought我不知道它是否是正确的决定.任何方式我想使用Material Librery的LinearProgressIndicator组件,但我没有得到如何使用它我试过这段代码: import 'dart:async';import 'package:flutter/material.dart';void main() {runApp(new
我正在学习Flutter allthought我不知道它是否是正确的决定.任何方式我想使用Material Librery的LinearProgressIndicator组件,但我没有得到如何使用它我试过这段代码:

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<MyApp> {
@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<ProgressIndicatorDemo>
with SingleTickerProviderStateMixin {
AnimationController _controller;

@override
void initState() {
super.initState();
_controller = new AnimationController(
  duration: const Duration(milliseconds: 1500),vsync: this,);
_playAnimation();
}

 Future<Null> _playAnimation() async {
  try {
  await _controller.repeat().orCancel;
  } on TickerCanceled {
  // the animation got canceled,probably because we were disposed
  }
  }

  @override
  void dispose() {
  _controller.stop();
  super.dispose();
  }

  @override
  Widget build(BuildContext context) {
  return _buildAnimation(context,null);
 }

 Widget _buildAnimation(BuildContext context,Widget child) {
 return new Center(
    child: new Container(
  color: Colors.redAccent,child: new LinearProgressIndicator(
    value: _controller.value,backgroundColor: Colors.redAccent,));
  }
 }

但我总是得到这个错误

I/flutter ( 3819): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY 
╞═══════════════════════════════════════════════════════════
I/flutter ( 3819): The following NoSuchMethodError was thrown building 
ProgressIndicatorDemo(dirty,state:
I/flutter ( 3819): _ProgressIndicatorDemoState#80400(ticker active)):
I/flutter ( 3819): The getter 'value' was called on null.
I/flutter ( 3819): Receiver: null
I/flutter ( 3819): Tried calling: value
I/flutter ( 3819):
I/flutter ( 3819): When the exception was thrown,this was the stack:
I/flutter ( 3819): #0      Object.noSuchMethod 
(dart:core/runtime/libobject_patch.dart:46:5)
I/flutter ( 3819): #1      _ProgressIndicatorDemoState.build 
(file:///E:/Flutter_work/animation_test/lib/main.dart:67:26)
I/flutter ( 3819): #2      StatefulElement.build 
(package:flutter/src/widgets/framework.dart:3730:27)
I/flutter ( 3819): #3      ComponentElement.performRebuild 
(package:flutter/src/widgets/framework.dart:3642:15)
I/flutter ( 3819): #4      Element.rebuild 
(package:flutter/src/widgets/framework.dart:3495:5)
I/flutter ( 3819): #5      StatefulElement.update 
(package:flutter/src/widgets/framework.dart:3799:5)
I/flutter ( 3819): #6      Element.updateChild 
(package:flutter/src/widgets/framework.dart:2699:15)
I/flutter ( 3819): #7      SingleChildRenderObjectElement.update 
(package:flutter/src/widgets/framework.dart:4661:14)
I/flutter ( 3819): #8      Element.updateChild 
(package:flutter/src/widgets/framework.dart:2699:15)
I/flutter ( 3819): #9      SingleChildRenderObjectElement.update 
(package:flutter/src/widgets/framework.dart:4661:14)
I/flutter ( 3819): #10     Element.updateChild 
(package:flutter/src/widgets/framework.dart:2699:15)
I/flutter ( 3819): #11     ComponentElement.performRebuild 
(package:flutter/src/widgets/framework.dart:3653:16)
I/flutter ( 3819): #12     Element.rebuild 
(package:flutter/src/widgets/framework.dart:3495:5)
I/flutter ( 3819): #13     StatelessElement.update 
(package:flutter/src/widgets/framework.dart:3702:5)
I/flutter ( 3819): #14     Element.updateChild 
(package:flutter/src/widgets/framework.dart:2699:15)
I/flutter ( 3819): #15     ComponentElement.performRebuild 
(package:flutter/src/widgets/framework.dart:3653:16)
I/flutter ( 3819): #16     Element.rebuild 
(package:flutter/src/widgets/framework.dart:3495:5)
I/flutter ( 3819): #17     ProxyElement.update 
(package:flutter/src/widgets/framework.dart:3909:5)
I/flutter ( 3819): #18     Element.updateChild 
(package:flutter/src/widgets/framework.dart:2699:15)
I/flutter ( 3819): #19     ComponentElement.performRebuild 
(package:flutter/src/widgets/framework.dart:3653:16)
I/flutter ( 3819): #20     Element.rebuild 
(package:flutter/src/widgets/framework.dart:3495:5)
I/flutter ( 3819): #21     ProxyElement.update 
(package:flutter/src/widgets/framework.dart:3909:5)
I/flutter ( 3819): #22     Element.updateChild 
(package:flutter/src/widgets/framework.dart:2699:15)
I/flutter ( 3819): #23     RenderObjectElement.updateChildren 
(package:flutter/src/widgets/framework.dart:4379:32)
I/flutter ( 3819): #24     MultiChildRenderObjectElement.update 
(package:flutter/src/widgets/framework.dart:4769:17)
I/flutter ( 3819): #25     Element.updateChild 
(package:flutter/src/widgets/framework.dart:2699:15)
I/flutter ( 3819): #26     ComponentElement.performRebuild 
(package:flutter/src/widgets/framework.dart:3653:16)
I/flutter ( 3819): #27     Element.rebuild 
(package:flutter/src/widgets/framework.dart:3495:5)
I/flutter ( 3819): #28     StatefulElement.update 
(package:flutter/src/widgets/framework.dart:3799:5)
I/flutter ( 3819): #29     Element.updateChild 
(package:flutter/src/widgets/framework.dart:2699:15)
I/flutter ( 3819): #30     ComponentElement.performRebuild 
(package:flutter/src/widgets/framework.dart:3653:16)
I/flutter ( 3819): #31     Element.rebuild 
(package:flutter/src/widgets/framework.dart:3495:5)
I/flutter ( 3819): #32     ProxyElement.update 
(package:flutter/src/widgets/framework.dart:3909:5)
I/flutter ( 3819): #33     Element.updateChild 
(package:flutter/src/widgets/framework.dart:2699:15)
I/flutter ( 3819): #34     ComponentElement.performRebuild 
(package:flutter/src/widgets/framework.dart:3653:16)
I/flutter ( 3819): #35     Element.rebuild 
(package:flutter/src/widgets/framework.dart:3495:5)
I/flutter ( 3819): #36     StatefulElement.update 
(package:flutter/src/widgets/framework.dart:3799:5)
I/flutter ( 3819): #37     Element.updateChild 
(package:flutter/src/widgets/framework.dart:2699:15)
I/flutter ( 3819): #38     SingleChildRenderObjectElement.update 
(package:flutter/src/widgets/framework.dart:4661:14)
I/flutter ( 3819): #39     Element.updateChild 
(package:flutter/src/widgets/framework.dart:2699:15)
I/flutter ( 3819): #40     ComponentElement.performRebuild 
(package:flutter/src/widgets/framework.dart:3653:16)
I/flutter ( 3819): #41     Element.rebuild 
(package:flutter/src/widgets/framework.dart:3495:5)
I/flutter ( 3819): #42     StatelessElement.update 
(package:flutter/src/widgets/framework.dart:3702:5)
I/flutter ( 3819): #43     Element.updateChild 
(package:flutter/src/widgets/framework.dart:2699:15)   
I/flutter ( 3819): #44     SingleChildRenderObjectElement.update 
(package:flutter/src/widgets/framework.dart:4661:14)
I/flutter ( 3819): #45     Element.updateChild 
(package:flutter/src/widgets/framework.dart:2699:15)
I/flutter ( 3819): #46     ComponentElement.performRebuild 
(package:flutter/src/widgets/framework.dart:3653:16)
I/flutter ( 3819): #47     Element.rebuild 
(package:flutter/src/widgets/framework.dart:3495:5)
I/flutter ( 3819): #48     StatefulElement.update 
(package:flutter/src/widgets/framework.dart:3799:5)
I/flutter ( 3819): #49     Element.updateChild 
(package:flutter/src/widgets/framework.dart:2699:15)
I/flutter ( 3819): #50     ComponentElement.performRebuild 
(package:flutter/src/widgets/framework.dart:3653:16)
I/flutter ( 3819): #51     Element.rebuild 
(package:flutter/src/widgets/framework.dart:3495:5)
I/flutter ( 3819): #52     StatefulElement.update 
(package:flutter/src/widgets/framework.dart:3799:5)
I/flutter ( 3819): #53     Element.updateChild 
(package:flutter/src/widgets/framework.dart:2699:15)
I/flutter ( 3819): #54     ComponentElement.performRebuild 
(package:flutter/src/widgets/framework.dart:3653:16)
I/flutter ( 3819): #55     Element.rebuild 
(package:flutter/src/widgets/framework.dart:3495:5)
I/flutter ( 3819): #56     ProxyElement.update 
(package:flutter/src/widgets/framework.dart:3909:5)
I/flutter ( 3819): #57     Element.updateChild 
(package:flutter/src/widgets/framework.dart:2699:15)
I/flutter ( 3819): #58     ComponentElement.performRebuild 
(package:flutter/src/widgets/framework.dart:3653:16)
I/flutter ( 3819): #59     Element.rebuild 
(package:flutter/src/widgets/framework.dart:3495:5)
I/flutter ( 3819): #60     ProxyElement.update 
(package:flutter/src/widgets/framework.dart:3909:5)
I/flutter ( 3819): #61     Element.updateChild 
(package:flutter/src/widgets/framework.dart:2699:15)
I/flutter ( 3819): #62     ComponentElement.performRebuild 
(package:flutter/src/widgets/framework.dart:3653:16)
I/flutter ( 3819): #63     Element.rebuild 
(package:flutter/src/widgets/framework.dart:3495:5)
I/flutter ( 3819): #64     StatefulElement.update 
(package:flutter/src/widgets/framework.dart:3799:5)
I/flutter ( 3819): #65     Element.updateChild 
(package:flutter/src/widgets/framework.dart:2699:15)
I/flutter ( 3819): #66     ComponentElement.performRebuild 
(package:flutter/src/widgets/framework.dart:3653:16)
I/flutter ( 3819): #67     Element.rebuild 
(package:flutter/src/widgets/framework.dart:3495:5)  
I/flutter ( 3819): #68     BuildOwner.buildScope 
(package:flutter/src/widgets/framework.dart:2242:33)
 Reloaded 0 of 391 libraries in 829ms.
 Lost connection to device.

如何解决这个问题,我喜欢做这个演示Flutter Progress Indicator Demo ,但同样的结果任何人都可以帮我做一个关于那个的例子,或者可以告诉我我的代码中有什么问题?
问候

Error Screen Shot

解决方法

您没有使用动画对象.

import 'dart:async';
import 'package:flutter/material.dart';

void main() {
  runApp(new MaterialApp(
    debugShowCheckedModeBanner: false,));
}

class MyApp extends StatefulWidget {
  @override
  MyAppState createState() => new MyAppState();
}

class MyAppState extends State<MyApp> {
  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text('Slider Demo'),body: new Container(
        color: Colors.blueAccent,);
  }
}

class ProgressIndicatorDemo extends StatefulWidget {

  @override
  _ProgressIndicatorDemoState createState() =>
      new _ProgressIndicatorDemoState();
}

class _ProgressIndicatorDemoState extends State<ProgressIndicatorDemo>
    with SingleTickerProviderStateMixin {
  AnimationController controller;
  Animation<double> 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,)
    );
  }

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读