Flutter-从入门到项目 06: 微信项目搭建 - 图1

Flutter-从入门到项目 06: 微信项目搭建

Flutter 专题目录汇总: 这个目录方便大家快速查询你要学习的内容!!!

前面几篇都是关于环境配置和基础语法学习. 在我个人认为学习一门新的语言(快速高效学习) 一定是通过实践,最好的就是带着项目实操,如果你能够仿写下一个项目那么基本就差不多了! 这里我就用微信项目作为本次案例仿写,希望大家喜欢!

Github 项目地址 欢迎大家点赞心心 谢谢

一: 微信项目搭建

① 主APP

这里主要是把主界面抽取出去 方便查阅和修改

  1. void main() {
  2. runApp(MyApp());
  3. }
  4. class MyApp extends StatelessWidget {
  5. // This widget is the root of your application.
  6. @override
  7. Widget build(BuildContext context) {
  8. return MaterialApp(
  9. title: 'WeChat',
  10. theme: ThemeData(
  11. highlightColor: Color.fromARGB(1, 0, 0, 0),
  12. splashColor: Color.fromARGB(1, 0, 0, 0),
  13. primarySwatch: Colors.blue,
  14. visualDensity: VisualDensity.adaptivePlatformDensity,
  15. ),
  16. home: KCRootPage(),
  17. );
  18. }
  19. }
  • highlightColor: 高亮色设置
  • splashColor: 长按颜色设置
  • KCRootPage : 根控制器

② 根控制器

根控制器的配置和基本iOS开发是一致的!
其中 class KCRootPage extends StatefulWidget 这样就能够动态调整也就所谓的状态管理

  1. class KCRootPage extends StatefulWidget {
  2. @override
  3. _KCRootPageState createState() => _KCRootPageState();
  4. }
  5. class _KCRootPageState extends State<KCRootPage> {
  6. int _currentIndex = 0;
  7. List<Widget> _pages = [KCChatPage(),KCFriendsPage(),KCDiscoverPage(), KCMinePage()];
  8. @override
  9. Widget build(BuildContext context) {
  10. return Scaffold(
  11. body: _pages[_currentIndex],
  12. bottomNavigationBar: BottomNavigationBar(
  13. onTap: (index){
  14. setState(() {
  15. _currentIndex = index;
  16. });
  17. },
  18. selectedFontSize: 12.0,
  19. currentIndex: _currentIndex,
  20. fixedColor: Colors.green,
  21. type: BottomNavigationBarType.fixed,
  22. items: [
  23. BottomNavigationBarItem(icon: Icon(Icons.chat),label: '微信'),
  24. BottomNavigationBarItem(icon: Icon(Icons.bookmark),label: '通讯录'),
  25. BottomNavigationBarItem(icon: Icon(Icons.history),label: '发现'),
  26. BottomNavigationBarItem(icon: Icon(Icons.person),label: '我'),
  27. ],
  28. ),
  29. );
  30. }
  31. }
  • 通过BottomNavigationBarItem 设置了底部按钮: 微信通讯录发现
  • List<Widget> _pages = [KCChatPage(),KCFriendsPage(),KCDiscoverPage(), KCMinePage()]; 设置一个数组来收集相应页面
  • currentIndex : 跟踪当前点击的按钮,从而跳到相应的页面
  • onTap : 作为用户的响应 -> 修改状态!

到这里我们看看页面样式,是不是非常简单? 😸 flutter 谁用谁知道

Flutter-从入门到项目 06: 微信项目搭建 - 图2

③ 启动页&图标设置

A: iOS 设置

  • 打开iOS工程 -> Runner -> 删掉原来 Flutter 的图标
  • Bundle name 修改成微信

Flutter-从入门到项目 06: 微信项目搭建 - 图3

B: Android 设置

  • AndroidManifest.xml -> android:label="微信" 修改项目显示名称
  • drawable -> launch_background
  1. <item>
  2. <bitmap
  3. android:gravity="center"
  4. android:src="@mipmap/launch_image" />
  5. </item>
  6. 复制代码
  • pubspec.yaml 放开注释 方便后面工程里面的图标设置
  1. assets:
  2. - images/

下一篇: 微信项目发现页面

资料推荐

如果你正在跳槽或者正准备跳槽不妨动动小手,添加一下咱们的交流群1012951431来获取一份详细的大厂面试资料为你的跳槽多添一份保障。

Flutter-从入门到项目 06: 微信项目搭建 - 图4

更多精彩分享