• 关注公众号 喵查铺子 一键查题~

Widget管理自己的State

flutter开发 尔雅学习君 3年前 (2019-12-02) 扫描二维码

1.自定义Widget状态

Widget管理自己的State

class TapboxA extends StatefulWidget {

  TapboxA({Key key}) : super(key: key);



  @override

  State createState() => _TapboxAState();

}



class _TapboxAState extends State {

  bool _active = false;



  //2.在_handleTap中触发setState方法,重新绘制Widget

  void _handleTap() {

    setState(() {

      _active = !_active;

    });

  }



  @override

  Widget build(BuildContext context) {

    return GestureDetector(

      //1.点击之后触发Widget的onTap事件,在onTap中执行_handleTap方法

      onTap: _handleTap,

      child: Container(

        width: 200,

        height: 200,

        decoration: BoxDecoration(

          color: _active ? Colors.lightGreen[700] : Colors.green[600],

        ),

        child: Text(

          _active ? "active" : "Inactive",

          style: TextStyle(

            fontSize: 32,

            color: Colors.white,

          ),

        ),

      ),

    );

  }

}

1、点击之后触发GestureDetector中的onTap方法,在此方法中执行_handleTap;

2、_handleTap方法执行setState触发Widget重绘。


联系邮箱:oqcvvz[at]163[dot]com
喜欢 (0)
尔雅学习君
关于作者:
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

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

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