Flutter實現(xiàn)底部導(dǎo)航欄效果
大家最近都在討論新鮮技術(shù)-flutter,小編也在學(xué)習(xí)中,遇到大家都遇到的問題,底部導(dǎo)航。下面給大家貼出底部導(dǎo)航的編寫,主要參考了lime這個項目。
上代碼
一.在main.dart文件中
定義APP的基本信息
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Flutter Demo',
theme: new ThemeData(
primarySwatch: themeColor(),
),
home: new MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
其中主要代碼部分
class _MyHomePageState extends State<MyHomePage> {
PageController pageController;
int page = 0;
@override
Widget build(BuildContext context) {
return new Scaffold(
backgroundColor: Colors.grey,
body: new PageView(
children: [
new Index(),
new Classify(),
new Shopping(),
new Myself()
],
controller: pageController,
onPageChanged: onPageChanged
),
bottomNavigationBar: new BottomNavigationBar(items: [
new BottomNavigationBarItem(
icon: new Icon(Icons.laptop_chromebook),
title: new Text("主頁"),
backgroundColor: Colors.grey
),
new BottomNavigationBarItem(
icon: new Icon(Icons.list), title: new Text("分類"),backgroundColor: Colors.grey),
new BottomNavigationBarItem(
icon: new Icon(Icons.local_grocery_store), title: new Text("購物車")),
new BottomNavigationBarItem(icon: new Icon(Icons.person), title: new Text("我的"))
],
onTap: onTap,
currentIndex: page
),
);
}
@override
void initState() {
super.initState();
pageController = new PageController(initialPage: this.page);
}
void onTap(int index) {
pageController.animateToPage(
index, duration: const Duration(milliseconds: 300),
curve: Curves.ease);
}
void onPageChanged(int page) {
setState(() {
this.page = page;
});
}
}
其中,各個頁面的主要聲明

底部導(dǎo)航欄的內(nèi)容填充

二.其他四個頁面的主要代碼
import 'package:flutter/material.dart';
class Classify extends StatelessWidget {
@override
Widget build(BuildContext context) {
// TODO: implement build
return new Scaffold(
body: new Center(
child:
new Text("分類"),
),
);
}
}
其他3個頁面的代碼是一樣的,具體邏輯由需求去填寫
三.效果圖

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android使用popupWindow仿微信彈出框使用方法
這篇文章主要為大家詳細介紹了Android使用popupWindow仿微信彈出框使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-09-09
Android應(yīng)用開發(fā)中Fragment存儲功能的基本用法
這篇文章主要介紹了Android應(yīng)用開發(fā)中使用Fragment存儲功能的基本用法,包括對Fragment的非中斷保存setRetaineInstance的講解,需要的朋友可以參考下2016-02-02
Android中使用TextView實現(xiàn)高仿京東淘寶各種倒計時效果
今天給大家?guī)淼氖莾H僅使用一個TextView實現(xiàn)一個高仿京東、淘寶、唯品會等各種電商APP的活動倒計時。今天小編把實現(xiàn)代碼分享到腳本之家平臺,對android textclock 倒計時效果感興趣的朋友參考下吧2016-10-10
Android模擬開關(guān)按鈕點擊打開動畫(屬性動畫之平移動畫)
這篇文章主要介紹了Android模擬開關(guān)按鈕點擊打開動畫(屬性動畫之平移動畫)的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-09-09
Android仿微信界面的導(dǎo)航以及右上角菜單欄效果
這篇文章主要介紹了Android仿微信界面的導(dǎo)航以及右上角菜單欄效果,具有很好的參考價值,希望對大家有所幫助,一起跟隨小編過來看看吧2018-05-05

