• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于python:Flutter之局部刷新2021

python 搞代码 3年前 (2022-02-20) 25次浏览 已收录 0个评论
文章目录[隐藏]

Flutter 框架外部提供了一个十分玲珑粗劣的组件,专门用于部分组件的刷新,它就是 ValueListenableBuilder。

ValueListenableBuilder须要的元素:

  • 类型为 ValueWidgetBuilder<T> 的 builder, 监听对象的界面展示. 实质是一个办法,Widget Function(BuildContext context, T value, Widget child)
  • ValueListenable<T> 对象 , 监听对象, 这里用它的实现类: ValueNotifier

应用

 ValueListenableBuilder<int>(
              builder: _builderWithValue,
              valueListenable: new_counter,
            ),

残缺代码

class _MyHomePageState extends State<MyHomePage> {

// ValueNotifier是ValueListenableBuilder 须要传入的ValueListenable<T> 抽象类的实现 . 接管一个泛型.
  final ValueNotifier<int> new_counter = ValueNotifier<int>(0);

  void _incrementCounter() {
    new_counter.value += 1;
  }

// 每当监听的对象值发生变化时,会触发builder 办法进行刷新。
// 如下, 在点击时只须要扭转 new_counter.value 的值,就会触发 _buildWithValue 从而将界面数字刷新。
  Widget _builderWithValue(BuildContext context , int value , Widget child){
    return Text('$value',
    style: Theme.of(context).textTheme.headline4,);
  }

  @override
  Widget build(BuildContext context) {

    return Scaffold(
      appBar: AppBar(

        title: Text(widget.title),
      ),
      body: Center(
       
        child: Column(

          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              'You have pushed the button this many times:',
            ),
            ValueListenableBuilder<int>(
              builder: _builderWithValue,
              valueListenable: new_counter,
            ),
           
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: Icon(Icons.add),
      ), // This trailing comma makes auto-formatting nicer for build methods.
    );
  }
}

原文参考

Flutter 写的app, 须要源码能够私信~~

  • 简繁火星字体转换
  • 哄女友神器
  • 号码测吉凶
  • 电视节目直播表

最好的笔记软件


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于python:Flutter之局部刷新2021
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址