前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Flutter-从入门到项目 06: 微信项目搭建

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

作者头像
CC老师
发布2021-03-11 10:49:47
4420
发布2021-03-11 10:49:47
举报
文章被收录于专栏:HelloCode开发者学习平台

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 这样就能够动态调整也就所谓的状态管理

代码语言:javascript
复制
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
代码语言:javascript
复制
<item>

        <bitmap
            android:gravity="center"
            android:src="@mipmap/launch_image" />
    </item>
  • pubspec.yaml 放开注释 方便后面工程里面的图标设置
代码语言:javascript
复制
assets:

    - images/

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 HelloCoder全栈小集 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档