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

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

IOS小彩虹2021-08-17 6:36:01200A+A-

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

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

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

一: 微信项目搭建

① 主APP

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

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/

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

点击这里复制本文地址 以上内容由权冠洲的博客整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

支持Ctrl+Enter提交

联系我们| 本站介绍| 留言建议 | 交换友链 | 域名展示
本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除

权冠洲的博客 © All Rights Reserved.  Copyright quanguanzhou.top All Rights Reserved
苏公网安备 32030302000848号   苏ICP备20033101号-1
本网站由 提供CDN/云存储服务

联系我们