2_flutter_TextField(文本框),TabBar(选项卡),bottomNavigationBar(底部导航栏)
1_TextField(文本框)
import 'package:flutter/material.dart';void main() {runApp(MaterialApp(home: MyEditText(),));
}class MyEditText extends StatefulWidget {@overrideMyEditTextState createState() => MyEditTextState();
}class MyEditTextState extends State<MyEditText> {String results = "";final TextEditingController controller = TextEditingController();@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text("Using EditText"),backgroundColor: Colors.red,),body: Container(child: Center(child: Column(children: <Widget>[TextField(decoration: InputDecoration(hintText: "Enter text here..."),onSubmitted: (String str) {setState(() {results = results + "\n" + str;});},),Text(results)],),),),);}
}
复制代码
1.1文本框获取值
import 'package:flutter/material.dart';void main() => runApp(MyApp());class MyApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(title: 'Retrieve Text Input',home: MyForm(),);}
}// Define a Custom Form Widget
class MyForm extends StatefulWidget {@override_MyFormState createState() => _MyFormState();
}// Define a corresponding State class. This class will hold the data related to
// our Form.
class _MyFormState extends State<MyForm> {// Create a text controller. We will use it to retrieve the current value// of the TextField!final myController = TextEditingController();@overridevoid dispose() {// Clean up the controller when the Widget is disposedmyController.dispose();super.dispose();}@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('Retrieve Text Input'),),body: Padding(padding: const EdgeInsets.all(16.0),child: TextField(controller: myController,),),floatingActionButton: FloatingActionButton(// When the user presses the button, show an alert dialog with the// text the user has typed into our text field.onPressed: () {return showDialog(context: context,builder: (context) {return AlertDialog(// Retrieve the text the user has typed in using our// TextEditingControllercontent: Text(myController.text),);},);},tooltip: 'Show me the value!',child: Icon(Icons.text_fields),),);}
}
复制代码
2_TabBar(选项卡)
import 'package:flutter/material.dart';void main() {runApp(TabBarDemo());
}class TabBarDemo extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(home: DefaultTabController(length: 3,child: Scaffold(appBar: AppBar(bottom: TabBar(tabs: [Tab(icon: Icon(Icons.directions_car)),Tab(icon: Icon(Icons.directions_transit)),Tab(icon: Icon(Icons.directions_bike)),],),title: Text('Tabs Demo'),),body: TabBarView(children: [Icon(Icons.directions_car),Icon(Icons.directions_transit),Icon(Icons.directions_bike),],),),),);}
}复制代码
2.1_顶部选项卡
import 'package:flutter/material.dart';void main() {runApp(TabBarDemo());
}class TabBarDemo extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(home: DefaultTabController(length: 3,child: Scaffold(appBar: AppBar(title: Material(color: Colors.blue,child: TabBar(tabs: [Tab(icon: Icon(Icons.directions_car)),Tab(icon: Icon(Icons.directions_transit)),Tab(icon: Icon(Icons.directions_bike)),],),),),body: TabBarView(children: [Icon(Icons.directions_car),Icon(Icons.directions_transit),Icon(Icons.directions_bike),],),),),);}
}
复制代码
2.2_选项卡页面
import 'package:flutter/material.dart';void main() {runApp(TabBarDemo());
}class TabBarDemo extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(home: DefaultTabController(length: 3,child: Scaffold(appBar: AppBar(title: Material(color: Colors.blue,child: TabBar(tabs: [Tab(icon: Icon(Icons.directions_car)),Tab(icon: Icon(Icons.directions_transit)),Tab(icon: Icon(Icons.directions_bike)),],),),),body: TabBarView(children: [Home1(),Home2(),Home3(),],),),),);}
}class Home1 extends StatelessWidget{@overrideWidget build(BuildContext context) {return Scaffold(body: Center(child:Text('HOME1') ,),);}
}class Home2 extends StatelessWidget{@overrideWidget build(BuildContext context) {return Scaffold(body: Center(child:Text('HOME2') ,),);}
}class Home3 extends StatelessWidget{@overrideWidget build(BuildContext context) {return Scaffold(body: Center(child:Text('HOME3') ,),);}
}
复制代码
3_bottomNavigationBar(底部导航栏)
import 'package:flutter/material.dart';void main() {runApp(MyApp());
}
class MyApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(title: 'Generated App',theme: ThemeData(primarySwatch: Colors.blue,primaryColor: const Color(0xFF2196f3),accentColor: const Color(0xFF2196f3),canvasColor: const Color(0xFFfafafa),),home: MyHomePage(),);}
}class MyHomePage extends StatefulWidget {MyHomePage({Key key}) : super(key: key);@override_MyHomePageState createState() => _MyHomePageState();
}class _MyHomePageState extends State<MyHomePage> {int index=0;List<Widget> pages=[Container(color: Colors.deepOrange),Container(color: Colors.amber),Container(color: Colors.blue),Container(color: Colors.green),];@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('App Name'),),bottomNavigationBar: BottomNavigationBar(type: BottomNavigationBarType.fixed,onTap: (int idx){setState(() {index=idx;});},items: [BottomNavigationBarItem(icon: const Icon(Icons.access_alarm,color: Colors.black),title: Text('Title',style: TextStyle(color: Colors.black)),),BottomNavigationBarItem(icon: const Icon(Icons.star,color: Colors.black),title: Text('Title',style: TextStyle(color: Colors.black)),),BottomNavigationBarItem(icon: const Icon(Icons.pages,color: Colors.black),title: Text('Title',style: TextStyle(color: Colors.black)),),BottomNavigationBarItem(icon: const Icon(Icons.adjust,color: Colors.black),title: Text('Title',style: TextStyle(color: Colors.black)),),]),body:pages[index] ,);}
}
复制代码
3.1_底部导航页面
import 'package:flutter/material.dart';void main() {runApp(MyApp());
}
class MyApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(theme: ThemeData(primarySwatch: Colors.blue,primaryColor: const Color(0xFF2196f3),accentColor: const Color(0xFF2196f3),canvasColor: const Color(0xFFfafafa),),home: MyHomePage(),);}
}class MyHomePage extends StatefulWidget {MyHomePage({Key key}) : super(key: key);@override_MyHomePageState createState() => _MyHomePageState();
}class _MyHomePageState extends State<MyHomePage> {int index=0;List<Widget> pages=[Home1(),Home2(),Home3(),Home4()];@overrideWidget build(BuildContext context) {return Scaffold(bottomNavigationBar: BottomNavigationBar(type: BottomNavigationBarType.fixed,currentIndex: index,fixedColor: Colors.blue,onTap: (int idx){setState(() {index=idx;});},items: [BottomNavigationBarItem(icon: const Icon(Icons.access_alarm),title: Text('Title'),),BottomNavigationBarItem(icon: const Icon(Icons.star),title: Text('Title'),),BottomNavigationBarItem(icon: const Icon(Icons.pages),title: Text('Title'),),BottomNavigationBarItem(icon: const Icon(Icons.adjust),title: Text('Title'),),]),body:pages[index] ,);}
}class Home1 extends StatelessWidget{@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('Home1'),),body: Center(child:Text('HOME1') ,),);}
}class Home2 extends StatelessWidget{@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('Home2'),),body: Center(child:Text('HOME2') ,),);}
}class Home3 extends StatelessWidget{@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('Home3'),),body: Center(child:Text('HOME3') ,),);}
}class Home4 extends StatelessWidget{@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('Home4'),),body: Center(child:Text('HOME4') ,),);}
}
复制代码
转载于:https://juejin.im/post/5c6ce72af265da2dcc7fea09
2_flutter_TextField(文本框),TabBar(选项卡),bottomNavigationBar(底部导航栏)相关推荐
- 【Flutter】底部导航栏实现 ( BottomNavigationBar 底部导航栏 | BottomNavigationBarItem 导航栏条目 | PageView )
文章目录 一.Scaffold 组件 二.底部导航栏整体架构 三.BottomNavigationBar 底部导航栏 四.BottomNavigationBarItem 导航栏条目 五.PageVie ...
- 【Flutter】底部导航栏页面框架 ( BottomNavigationBar 底部导航栏 | PageView 滑动页面 | 底部导航与滑动页面关联操作 )
文章目录 一.BottomNavigationBar 底部导航栏 二.PageView 滑动页面 三.BottomNavigationBar 与 PageView 关联 四.完整代码示例 1.核心导航 ...
- 微信小程序- 初试小程序之tabbar(选项卡,底部导航)的使用
最近也是发现微信小程序突然火了起来,所以闲来无事试了试. 首先建议使用官方的微信开发者工具,尽管有着不少的瑕疵,但是作为一个新生的ide还算不错了. 顺便提一下,很多人把小程序等同于h5,其实这是两种 ...
- Android——BottomNavigationBar底部导航栏的快速实现
底部导航的快速实现,不用繁琐的LinearLayout或者RadioGroup等的那么多代码,简单,粗暴. 1.基本使用 a.在Android Studio下添加依赖: compile 'com.as ...
- 【Flutter】StatefulWidget 组件 ( 底部导航栏组件 | BottomNavigationBar 组件 | BottomNavigationBarItem 组件 | 选项卡切换 )
文章目录 一.BottomNavigationBar 组件 二.BottomNavigationBarItem 组件 三.BottomNavigationBar 底部导航栏代码示例 四.BottomN ...
- Flutter底部导航栏BottomNavigationBar页面状态保持解决方案
网易云[玩转大前端]配套课程 EDU配套 教程 Flutter开发的点滴积累系列文章 一行代代码置灰应用?对就是这么干 在实际应用开发中,一般应用的首页面会有这种结构,在Flutter应用开发中,有多 ...
- 底部导航栏使用BottomNavigationBar
1.github地址 https://github.com/zhouxu88/BottomNavigationBar 2.基本使用 2,1添加依赖 implementation 'com.ashokv ...
- Flutter底部导航栏BottomNavigationBar
BottomNavigationBar是底部的导航栏,一般应用在多个视图进行选择.类比于Android的底部导航栏,由Text文本和Icon图标组成. 这里创建一个List为显示内容提供容器: sta ...
- flutter TabBar 底部导航栏
更多文章请查看 lutter从入门 到精通 实现底部导航栏并点击切换页面可简述为有三种方式 TabBar + TabBarView BottomNavigationBar + BottomNaviga ...
最新文章
- 当 HTTP 连接池遇上 KeepAlive 时
- hdu 5280(最大子串和变形,dp)
- dotNet Core使用SignalR实现websocket
- 基于JAVA+SpringMVC+Mybatis+MYSQL的网上拍卖秒杀竞价系统
- WEB程序调用客户端程序
- IDEA中Maven项目中界面右边的Maven Projects中子项目出现灰色
- java 模式匹配_Java 14 模式匹配,非常赞的一个新特性!
- 热血仙境服务器修改,热血仙境安卓首发服务器爆红 - 07073手机游戏
- WorkMan学习篇:三
- Git 入门最佳实践
- Software Protection无法启动造成slmgr.vbs激活win10失败
- 素数算法,看看电脑是怎么找素数的
- 《Text Mining and Analytics》学习笔记——第一周
- win10系统更新服务器不可用,Win10专业版系统 RPC服务器不可用怎么办
- 数据治理工作的几种推进套路
- List.add 方法添加元素时只会添加最后一条元素的问题与解决
- 微信JSSDK上传多张图片
- 全球健身领导品牌莱美国际任命季嘉华为大中华区及韩国CEO
- Matlab T型速度规划
- 非金融上市企业数据,整理好的面板数据,excel或stata版本