文本框组件 TextFiled
属性 | 作品 | 类型 |
---|
maxLines | 改成多行文本,最大行数 | int |
onChanged | 文本框变化时的监听 | fun |
decoration | 样式 InputDecoration | |
obscureText | 密码框 | bool |
controller | 结合 textEditingController 可以配置表单默认显示的内容 | |
TextField(
decoration: InputDecoration(
hintText: "用户名", // 提示词
border: OutlineInputBorder(), // 带边框
)
)
设置初始化值
late TextEditingController _xxx;
String username = "zhangsan";
String password = "";
void initState(){
super.initState();
_xxx = TextEditingController.fromValue(TextEditingValue(
text: username,
selection: TextSelection.fromPosition(TextPosition(
offset: username.length;
))
))
}
使用
TextField(
controller: _xxx,
decoration: const InputDecoration(
hintText: "用户名",
border: OutlineInputBorder()),
onChanged: (value) => setState(() {
username = value;
}
),
)
单选按钮组
Radio(
value:1,
onchanged:(){},
groupValue:1
),
Radio(
value:2,
onchanged:(){},
groupValue:1
),
RadioListTile 单选按钮组
RadioListTile(
title: Text("男"),
value: 1,
groupValue: 1,
onChanged: (){}
),
RadioListTile(
title: Text("女"),
value: 2,
groupValue: 1,
onChanged: (){}
),
checkBox 多选按钮
Checkbox 用法同 Radio
checkBoxListTile 多选按钮组
用法同 RadioListTile
Switch 开关
bool flag = true;
Switch(
value:flag,
onChange(val){
setState((){
flag = value
})
}
)
进度条
圆形加载
CircularProgressIndicator(
valueColor: AlwaysStoppedAnimation(Colors.red),
backgroundColor: Colors.white
)
IOS圆形加载
import "packge:flutter/cupertino.dart"
CupertinoActivityIndicator(radius:24)
线性进度
LinearProgressIndicator(
value: 0.1,
valueColor: AlwaysStoppedAnimation(Colors.blue),
backgroundColor: Colors.grey,
)