發(fā)表日期:2018-05 文章編輯:小燈 瀏覽次數(shù):1898
Flutter是Google使用Dart語言開發(fā)的移動應(yīng)用開發(fā)框架,只需一套Dart代碼就能構(gòu)建高性能、高保真的iOS和Android應(yīng)用程序,并且在排版、圖標、滾動、點擊等方面實現(xiàn)零差異。
如果上面官網(wǎng)打不開這里有Flutter 中文網(wǎng)
如何搭建環(huán)境已經(jīng)有很多文章了,這里就不再說了。
推薦兩個(反正我是參考這兩篇文章的):
main.dart
里面自動生成代碼刪除import 'package:flutter/material.dart';import 'douban/app.dart';void main(){ runApp(new DoubanApp()); }
app.dart
作為主入口class DoubanApp extends StatefulWidget {@override DoubanAppState createState() => new DoubanAppState(); }class DoubanAppState extends State<DoubanApp>{ @override Widget build(BuildContext context) {} }
movie.dart
、book.dart
、music.dart
三個頁面import 'package:flutter/material.dart';class Movie extends StatefulWidget { @override MovieState createState() => new MovieState(); }class MovieState extends State<Movie> { @override Widget build(BuildContext context) { return new MaterialApp( home: new Scaffold( appBar: new AppBar( title: new Text("電影"), ), body: new Center( child: new Text('Hello Movie'), ), ), ); } }
app.dart
中使用 TabBarView
和 bottomNavigationBar
中TabBar
實現(xiàn)new TabBarView( controller: controller, children: [ new Movie(), new Book(), new Music(), ], )new TabBar( controller: controller, tabs: [ new Tab( text: "電影", icon: new Icon(Icons.movie)), new Tab( text: "圖書", icon: new Icon(Icons.book)), new Tab( text: "音樂", icon: new Icon(Icons.music_video)), ], ),
import 'package:flutter/material.dart';import 'package:flutter_douban/douban/movie.dart'; import 'package:flutter_douban/douban/book.dart'; import 'package:flutter_douban/douban/music.dart';class DoubanApp extends StatefulWidget {@override DoubanAppState createState() => new DoubanAppState(); }class DoubanAppState extends State<DoubanApp> with SingleTickerProviderStateMixin { TabController controller;@override void initState() { controller = new TabController(length: 3, vsync: this); }@override void dispose() { controller.dispose(); super.dispose(); }@override Widget build(BuildContext context) { return new MaterialApp( home: new Scaffold( body: new TabBarView( controller: controller, children: [ new Movie(), new Book(), new Music(), ], ), bottomNavigationBar: new Material( color: Colors.blue, child: new TabBar( controller: controller, tabs: [ new Tab( text: "電影", icon: new Icon( Icons.movie, ), ), new Tab( text: "圖書", icon: new Icon( Icons.book, ), ), new Tab( text: "音樂", icon: new Icon( Icons.music_video, ), ), ], ), ), ), ); } }
作者:曉鋒殘月
如果喜歡請關(guān)注打賞我
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請注明出處,謝謝!