美文网首页
Flutter 初体验

Flutter 初体验

作者: Bison | 来源:发表于2019-06-19 17:11 被阅读0次

Flutter的横空出世,很大程度上降低了移动应用的开发成本;我是一名苦逼的iOS开发者,兼职写点Android开发,对Flutter的出现比一般人要敏感很多,在此之前个人的看法是跨平台没什么前景,学习成本高的同时,性能并不是很满意;在接触Flutter之后,这一想法抛之脑后,瞬间来了兴趣,对于有开发经验的童鞋来说,学习起来一点也不难,特别是Android开发的,因为编译器可以直接用Android Studio,上手特别快;运行起来也很流畅;这些都是爱好的开始;

首先来说一下iOS里面的UITabBarController 在Flutter里面有对应的控件BottomNavigationBar非常的方便,几句代码轻轻松松达到iOS和Android双端效果统一,主要代码如下

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_app/pages/HomePage.dart';
import 'package:flutter_app/pages/ShopPage.dart';
import 'package:flutter_app/pages/MyInfoPage.dart';


class Tabbar extends StatefulWidget{
  @override
  State<StatefulWidget> createState() => TabbarState();
}
///tabbar的三个子控制器
class TabbarState extends State<Tabbar> {
  int _currentIndex = 0;
  final List<Widget> _children = [
    HomePage(),
    Shoppage(),
    MyInfoPage()
  ];

//创建BottomNavigationBar并且监听改变的currentIndex
  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      body: _children[_currentIndex],
      bottomNavigationBar: BottomNavigationBar(
        currentIndex: _currentIndex,
        onTap: onTabTapped,
        items: [
          BottomNavigationBarItem(
              title: new Text("Home"), icon: new Icon(Icons.home)),
          BottomNavigationBarItem(
              title: new Text("List"), icon: new Icon(Icons.list)),
          BottomNavigationBarItem(
              title: new Text("Message"), icon: new Icon(Icons.message)),
        ],
      ),
    );
  }
//点击事件
  void onTabTapped(int index) {
    setState(() {
      _currentIndex = index;
    });
  }
}

Tabbar 是自己创建封装的类,方便组件化管理;主要是实现tabbar的功能cupertino.dartmaterial.dart是Flutter自带的文件;其他HomePage.dart/ShopPage.dart/MyInfoPage.dart为自己创建的三个类,相当于iOS里面的VC和Android里面的Activity用于展示TabbarItem的内容;至于怎么调用就更加的简单了,下面是Main文件调用的代码:

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      //调用tabbar展示
      home: Tabbar(),
    );
  }
}

调用的代码home: Tabbar(),就是这么简单粗暴,核心代码不超过50行; 效果图如下

iOS效果 Android效果

上图中填充的其他内容想了解的可以关注我哦, 连载中。。。

相关文章

  • Flutter环境搭建

    谷歌Flutter官方网站Flutter中文网Flutter社区中文资源Flutter初体验(一)——Mac 安装...

  • Flutter-从入门到项目 03: Flutter初体验

    Flutter-从入门到项目 03: Flutter初体验 Flutter 专题目录直通车: [https://w...

  • Flutter系列(2)Dart语言基础

    Flutter的开发语言是Dart语言的,这篇文章就说说Dart语言基础 一、Dart 初体验 在flutter项...

  • Flutter 安装之初体验

    Flutter 安装之初体验 Flutter 是 Google 开源的 UI 工具包,帮助开发者通过一套代码库高效...

  • flutter开发体验总结

    flutter开发初体验 flutter目前最火的混合开发技术,作为苦逼的移动开发人员了解下总是没有错的,针对最近...

  • Flutter初体验

    一.关于Flutter Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户...

  • Flutter 初体验

    一、flutter介绍 flutter关联词 flutter诞生: 工具:Android Studio和xcode...

  • Flutter初体验

    一、环境搭建 1.window安装flutter,本人是Android开发,确保自己电脑以及安装过jdk以及sdk...

  • Flutter初体验

    Flutter 和 React-native 一样,用于开发移动端app,在开源中国上看到这个东东,抽个周末接触一...

  • Flutter初体验

    记录遇到的问题 1.error: Building for iOS Simulator, but the link...

网友评论

      本文标题:Flutter 初体验

      本文链接:https://www.haomeiwen.com/subject/cqakqctx.html