Futter基础第16篇: 实现单行文本框、多选框
效果图:
TextField.dart
CheckBox.dart
TextField.dart
import 'package:flutter/material.dart';class TextFieldDemoPage extends StatefulWidget {@override_TextFieldDemoPageState createState() => _TextFieldDemoPageState();
}class _TextFieldDemoPageState extends State<TextFieldDemoPage> {var _username = new TextEditingController(); //初始化时给表单赋值var _password; //初始化时不赋值@overridevoid initState() {// TODO: implement initStatesuper.initState();_username.text='初始值'; //调用text赋值}@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('表单演示页面'),),body: Padding(padding: EdgeInsets.all(20),
// child: TextDemo(),child: Column(children: <Widget>[TextField(decoration: InputDecoration(hintText: '请输入用户名'),controller: _username, //通过唯一标识对象,初始化时赋值onChanged: (value){ //文本框变化时的触发事件 , 如果发生改变,系统就会自动将输入框的值赋给valuesetState(() {_username.text = value;});},),SizedBox(height: 20,),TextField(obscureText: true, //开启密码模式decoration: InputDecoration(hintText: '请输入密码'),onChanged: (value){ //文本框变化时的触发事件 , 如果发生改变,系统就会自动将输入框的值赋给valuesetState(() {this._password = value; //注意,这里没有写.text,所以下面获取值的时候,也不需要写.text,直接写变量名即可});},),SizedBox(height: 40,),Container(width: double.infinity, //表示Container的宽度变成自适应宽度height: 40,child: RaisedButton(child: Text('登录'),onPressed: (){print(this._username.text); //打印用户名print(this._password); //打印密码},color: Colors.blue,textColor: Colors.white,),)],),),);}
}//特殊效果举例,不过这里没有调用,要想看效果的话直接在body:TextDemo 即可
class TextDemo extends StatelessWidget {@overrideWidget build(BuildContext context) {return Container(child: Column(children: <Widget>[TextField(), //输入框表单SizedBox(height: 20,),TextField(decoration: InputDecoration(hintText: '请输入搜索的内容', //提示文字,相当于Android里的hintborder: OutlineInputBorder() //给表单四周添加边框),),SizedBox(height: 20,),TextField(maxLines: 4, //设置对最大行数decoration: InputDecoration(hintText: '多行文本框', //多行文本框border: OutlineInputBorder() //给表单四周添加边框),),SizedBox(height: 20,),TextField(obscureText: true, //开启密码模式decoration: InputDecoration(hintText: '密码框', //多行文本框border: OutlineInputBorder() //给表单四周添加边框),),SizedBox(height: 20,),TextField( //特殊效果,输入信息时,用户名动态跑到边框届提示decoration: InputDecoration(border: OutlineInputBorder(),labelText: '用户名'),),SizedBox(height: 20,),TextField( //特殊效果,输入信息时,用户名动态跑到边框届提示obscureText: true,decoration: InputDecoration(border: OutlineInputBorder(),labelText: '密码'),),SizedBox(height: 20,),TextField( //在文本框前面加上图标decoration: InputDecoration(icon: Icon(Icons.people),hintText: '请输入用户名'),)],),);}
} //列举文本框的样式与模式,要使用时在body里调用TextDemo组件即可
CheckBox.dart
import 'package:flutter/material.dart';class CheckBoxPage extends StatefulWidget {@override_CheckBoxPageState createState() => _CheckBoxPageState();
}class _CheckBoxPageState extends State<CheckBoxPage> {var flag = true;@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('checkbox'),),body: Column(mainAxisAlignment: MainAxisAlignment.center,children: <Widget>[Row(children: <Widget>[Checkbox( //多选框组件value: this.flag,onChanged: (v){ //多选框值变化时,触发setState(() {this.flag=v;});},activeColor: Colors.red, //设置:选中时的颜色),],),Row(children: <Widget>[Text(this.flag?'选中':'未选中') //显示:checkBox当前是否勾选的值],),SizedBox(height: 40,),CheckboxListTile( //多选框组件value: this.flag,onChanged: (v){ //多选框值变化时,触发setState(() {this.flag=v;});},title: Text('标题'),subtitle: Text('这是二级标题'),),Divider(),CheckboxListTile( //多选框组件value: this.flag,onChanged: (v){ //多选框值变化时,触发setState(() {this.flag=v;});},title: Text('标题'),subtitle: Text('这是二级标题'),secondary: Icon(Icons.help),)],),);}
}
Futter基础第16篇: 实现单行文本框、多选框相关推荐
- qt中设置QCheckBox的文本与勾选框之间的距离
引言 项目中需要设置QCheckBox的文本与勾选框之间的距离,还有需要将勾选框设置的大一点,不是使用原始大小的勾选框.花了一点时间才知道如何实现.现在记录一下. 示例 我是通过样式表实现的文本与勾选 ...
- EasyUI:combotree(树形下拉框)复选框选中父节点(子节点的状态也全部选中)输入框中只显示父节点的文本值
在开发过程中遇到的小案例 效果展示 未处理之前的效果: 处理之后的效果: 需求详情 combotree(树形下拉框)复选框选中父节点时输入框只显示父节点的文本值,但是子节点的状态是选中的. 当所有子节 ...
- jQuery获取及设置单选框,多选框,文本框内容
在工作中,text,radio,checkbox,select在开发过程中是必不可少的一部分.在开发过程中经常要处理页面表单元素. Eg: 在复选框checkBox中获取checked的valu ...
- Futter基础第3篇: 实现引用远程图片、本地图片、实现圆形图片,实现圆角图片【Image.network、Image.asset、BorderRadius.circular(150)】
文章目录 一丶 效果图 二丶 代码+注释 三丶 知识点 一丶 效果图 [1]引用远程图片 [2]引用本地图片 [3]实现圆形图片(方法一).圆角图片(受弧度影响) [4]实现圆形图片(方法二) 二丶 ...
- 自学篇之-----纯css做的漂亮的单选框复选框样式
2019独角兽企业重金招聘Python工程师标准>>> <!DOCTYPE html> <html> <head> <title>ch ...
- html设置表中单行文本框属性,HTML表单
HTML表单 语法 表单元素: 文本域 单选框 复选框 按钮 列表 form标签中表单元素: --表单输入标签 --表单和列表标签 --菜单和列表项目标签 --文字域标签 --菜单和列表项目分组标签 ...
- 复选框、单行文本框、组合框
一.复选框 复选框的操作函数 bool isChecked() const //判断这个复选框是否被选中 void setChecked(bool) //设置这个复选框的选中情况 ...
- java 复选框怎么用_Java Swing公开课|Java Swing的复选框组件怎么用,看完这篇文章你一定就会了...
[摘要]作为一门面向对象编程语言,Java吸收了C++语言的优点,也展现了其强大的一面,我们能在各个地方看到其功能强大和简单易用的两个特征,当然,也吸引了很多程序员的注意力,所以就有人想了解Java的 ...
- html 表格,列表,表单,select和下拉选框,textarea多行文本域,label关联控件,表单,浮动框架,结构化标签
1. 表格 表格的语法 (1) table标签: 表示表格的开始和结束.表格的所有内容都需要写在这一对标签里 (2) tr标签: 表示表格中的一行 table row (3) td标签:要写在tr中, ...
- GUI编程基础学习(三)——单选按钮、复选框、组合框
单选按钮JRadioButton JRadioButton组件用于实现一个单选按钮.JRadioButton类可以单独使用,也可以与ButtonGroup类联合使用,当其单独使用时,该单选按钮可以被选 ...
最新文章
- 山东计算机编程哪个学校好,山东男孩,8岁懂电脑编程,10岁考上南科大,最后为何惨遭退学?...
- javascript 值传递与作用域
- java两个有序数组的初始化_leecode:88–合并两个有序数组 | 星尘
- linux下mysql的基本用法
- C++语言基础(15)-友元函数和友元类
- [程序员面试题精选100题]19.反转链表
- [转]计算机学习道路
- 只能在测试中注射吗?
- 数据科学家 数据工程师_数据科学家应该对数据进行版本控制的4个理由
- activiti 7中文文档_如何阅读文档-以Pandas库为例
- android 仿搜索动画,Android仿京东顶部搜索框滑动伸缩动画效果
- 换服务器要重新百度站长验证站点吗6,六个步骤搞定更换网站服务器
- CentOS安装Nginx 报错“configure: error: the HTTP rewrite module requires the PCRE library”解决办法...
- paip.提升性能---并行多核编程哈的数据结构list,set,map
- 关于GTPv1协议解析
- 如何使用花生壳5设置HTTPS映射
- java表示自然数,将一个正整数表示为连续自然数的和
- 如何做gif动图表情包?轻松一键快速制作gif表情包
- 【阿里云镜像】使用VM虚拟机安装OpenWRT并更换阿里云镜像源
- 谷歌广告联盟电汇收款指南