Flutter 专题目录汇总: 逻辑-Flutter专栏-它来咯!!! 逻辑-Flutter专栏- 你环境配置好了? Flutter-从入门到项目 03: Flutter初体验 Flutter-从入门到项目 04:Dart语法快速掌握(上) Flutter-从入门到项目 05:Dart语法快速掌握(下)
前面几篇都是关于环境配置和基础语法学习. 在我个人认为学习一门新的语言(快速高效学习) 一定是通过实践,最好的就是带着项目实操,如果你能够仿写下一个项目那么基本就差不多了! 这里我就用微信项目作为本次案例仿写,希望大家喜欢!
Github 项目地址:https://github.com/LGCooci/KCFlutter 欢迎大家点赞心心 谢谢
一:微信项目搭建
① 主APP
这里主要是把主界面抽取出去 方便查阅和修改
代码语言:javascript复制void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'WeChat',
theme: ThemeData(
highlightColor: Color.fromARGB(1, 0, 0, 0),
splashColor: Color.fromARGB(1, 0, 0, 0),
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: KCRootPage(),
);
}
}
highlightColor
: 高亮色设置splashColor
: 长按颜色设置KCRootPage
: 根控制器
② 根控制器
根控制器的配置和基本iOS开发是一致的!
其中 class KCRootPage extends StatefulWidget
这样就能够动态调整也就所谓的状态管理
class KCRootPage extends StatefulWidget {
@override
_KCRootPageState createState() => _KCRootPageState();
}
class _KCRootPageState extends State<KCRootPage> {
int _currentIndex = 0;
List<Widget> _pages = [KCChatPage(),KCFriendsPage(),KCDiscoverPage(), KCMinePage()];
@override
Widget build(BuildContext context) {
return Scaffold(
body: _pages[_currentIndex],
bottomNavigationBar: BottomNavigationBar(
onTap: (index){
setState(() {
_currentIndex = index;
});
},
selectedFontSize: 12.0,
currentIndex: _currentIndex,
fixedColor: Colors.green,
type: BottomNavigationBarType.fixed,
items: [
BottomNavigationBarItem(icon: Icon(Icons.chat),label: '微信'),
BottomNavigationBarItem(icon: Icon(Icons.bookmark),label: '通讯录'),
BottomNavigationBarItem(icon: Icon(Icons.history),label: '发现'),
BottomNavigationBarItem(icon: Icon(Icons.person),label: '我'),
],
),
);
}
}
- 通过
BottomNavigationBarItem
设置了底部按钮:微信、通讯录、发现 、我
List<Widget> _pages = [KCChatPage(),KCFriendsPage(),KCDiscoverPage(), KCMinePage()];
设置一个数组来收集相应页面currentIndex
: 跟踪当前点击的按钮,从而跳到相应的页面onTap
: 作为用户的响应 -> 修改状态!
到这里我们看看页面样式,是不是非常简单? ? flutter
谁用谁知道
③ 启动页&图标设置
A: iOS 设置
- 打开iOS工程 ->
Runner
-> 删掉原来Flutter
的图标 Bundle name
修改成微信
B: Android 设置
AndroidManifest.xml
->android:label="微信"
修改项目显示名称drawable
->launch_background
<item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item>
pubspec.yaml
放开注释 方便后面工程里面的图标设置
assets:
- images/
下一篇: 微信项目发现页面