Flutter控件--TextFiled
时间: 2023-06-28 21:11:29 浏览: 176
Flutter中的TextField是一个常用的输入控件,它允许用户在应用程序中输入文本。
TextField通常用于表单中,可以接收用户输入的文本,比如用户名、密码、电子邮件地址等。
以下是一个基本的TextField示例:
```dart
TextField(
decoration: InputDecoration(
hintText: '请输入文本',
),
);
```
在上面的示例中,我们使用了decoration属性来设置TextField的外观,其中hintText属性用于设置提示文本。
TextField还有许多其他的属性可以设置,比如maxLength(允许输入的最大长度)、keyboardType(键盘类型)、obscureText(是否隐藏输入内容)等等。
下面是一个更完整的TextField示例:
```dart
class MyTextField extends StatefulWidget {
@override
_MyTextFieldState createState() => _MyTextFieldState();
}
class _MyTextFieldState extends State<MyTextField> {
final TextEditingController _controller = TextEditingController();
@override
Widget build(BuildContext context) {
return TextField(
controller: _controller,
maxLength: 10,
keyboardType: TextInputType.text,
obscureText: true,
decoration: InputDecoration(
hintText: '请输入文本',
labelText: '文本框',
prefixIcon: Icon(Icons.text_fields),
suffixIcon: IconButton(
icon: Icon(Icons.clear),
onPressed: () {
setState(() {
_controller.clear();
});
},
),
border: OutlineInputBorder(),
),
onChanged: (value) {
print('输入的文本为:$value');
},
);
}
}
```
在上面的示例中,我们使用了TextEditingController来控制TextField的文本内容,maxLength属性限制了用户输入的最大长度为10,keyboardType属性指定了键盘类型为文本类型,obscureText属性设置为true表示隐藏输入内容。
此外,我们还设置了decoration属性来自定义TextField的外观,包括了输入提示文本、标签文本、前缀图标、后缀图标和边框样式等。
最后,我们通过onChanged回调函数来监听用户输入的文本,并打印出来。
阅读全文