【Flutter】常用样式、方法、组件(长期更新中)

时间:2024-12-12 07:06:43

一、样式设置

  1. 设置颜色透明度:color: Color(0xff4B9E32).withOpacity(0.08)

二、常用方法

  1. 数组排序:list.sort();
**升序**(obj1, obj2) => obj1.compareTo(obj2)
**降序**(obj1, obj2) => obj2.compareTo(obj1)

obj1.compareTo(obj2)
如果obj1< obj2,返回< 0
如果obj1= obj2,返回值=0
如果obj1>obj2,返回值>0
  1. 动态获取类实例(model)的属性
//先转换成map,再获取值
widget.optionList[index].toJson()[widget.field]
  1. 收起软键盘:FocusManager.instance.primaryFocus.unfocus();
  2. color数值转换:从css颜色到dart颜色(从#AABBCC 转换 Color(0xFF42A5F5))
map['color']=Color(int.parse((element['iconColor'].substring(1, 7)), radix: 16) + 0xFF000000)
  1. 创建多行字符串:使用三个单引号或双引号,会保留多行字符串格式
String e = '''asd
     fdsd
       fff
    
    ''';
    String f = """ 1
    2
    3
    4
    """;
  1. 使用r创建原始字符串,字符串中的特殊字符不会被转译,而被直接原样输出
String str1=r'Hello \n  World' 
  1. 设置全局context:final GlobalKey<NavigatorState> navigatorKey = new GlobalKey<NavigatorState>();,通过 navigatorKey获取

三、组件类

  1. 添加悬浮按钮:Stack
    在任意组件中添加悬浮按钮,类似图片右上角删除按钮

Stack(
        children: [
          Container(
              alignment: Alignment.center,
              child: Positioned(
                child: Icon(Icons.remove_circle,color: Colors.red,size: 20,),//悬浮的组件
                top: 0,
                right: 0,
              )
          )
        ]

    )

四、一些厉害的工具博客收藏

  1. 模拟器设置