• flutter学习之控件的使用


    两个重要Widget

    StatelessWidget:
    1、无状态widget,内容不可变,这意味着它们的属性不能改变——所有的值都是最终的。
    2、如果无状态Widget里面有子Widget,并且子Widget是有状态的,则子Widget的内容是可以通过setState来更改的。无状态Widget影响的仅仅是自己是无状态的,不回影响他的父Widget和子Widget。
    StatefulWidget:
    1、有状态widget,内容可变,Stateful widgets 持有的状态可能在widget生命周期中发生变化。
    2、创建一个有状态的widget需要进行以下操作:
            要创建一个自定义有状态widget,需创建两个类:StatefulWidget和State。
            我们要定义一个widget类,继承自StatefulWidget。
            子State,包含该widget状态并定义该widget build()方法的类,它继承自State。
            状态对象包含widget的状态和build() 方法。
            当widget的状态改变时,状态对象调用setState(),告诉框架重绘widget
    

    页面跳转:

    Navigator.of(context).pushNamed(“your page routeName”);

    常用控件介绍:

    Scaffold:脚手架
    Text:文本框
    ElevatedButton:按钮
    Container:容器,具有边距,居中,靠左,靠右显示的属性
    Column:竖向排列的一个显示控件,类似于横向的linerlayout
    Row:横向排列的一个控件,类似于竖向的linerlayout
    Expanded:一般用在Row中,占满一行剩余长度
    Icon:图标,使用后示例:Icon(Icons.arrow_back,)
    TextField:编辑框,Android中的edittext
    Stack:事件穿透,widget层叠,类似于Android中的relativelayout

    scaffold使用示例:

    1. Scaffold(
    2. appBar: AppBar(
    3. title: Text("蓝牙"),
    4. leading: IconButton(
    5. icon: Icon(Icons.arrow_back,),
    6. onPressed: (){
    7. Navigator.of(context).pop();
    8. },
    9. ),
    10. ),
    11. body: “显示内容各种控件都可以放,最层只能是一个Widget”,
    12. )
    ElevatedButton使用示例:
    ElevatedButton(onPressed: (){//此处处理点击事件}, child: Text("搜索"))

  • 相关阅读:
    Python数据特征分析1-分布分析(极差,频率直方图等)
    搜维尔科技:AR/VR技术对制造业劳动力危机的影响
    人工智能和计算机视觉(6)-二维几何变换
    OpenCV项目开发实战--进行高动态范围 (HDR) 成像--附C++与Python的实现源码
    【表面缺陷检测】表面缺陷检测数据集汇总
    [附源码]Python计算机毕业设计_旅游系统
    Midjourney学习(四)光源类型prompt
    隐私保护学习笔记
    使用邮箱发送验证码完成注册
    Python——urllib库
  • 原文地址:https://blog.csdn.net/congcongguniang/article/details/126317037