最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

flutter實現(xiàn)底部導航欄切換

 更新時間:2022年07月28日 14:03:10   作者:派大星?  
這篇文章主要為大家詳細介紹了flutter實現(xiàn)底部導航欄切換,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了flutter實現(xiàn)底部導航欄切換的具體代碼,供大家參考,具體內(nèi)容如下

思路:MaterialApp是提供了bottomnavigationbar的,可以使用,這個已經(jīng)提供了的widget,再利用每次點擊tab的時候使用set state方法來更新屏幕,切換中間的body的widget;
main文件:

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_app1/MyBottomNavigationBar.dart';

void main(){
? runApp(new MyApp());
}
class MyApp extends StatelessWidget{
? @override
? Widget build(BuildContext context) {
? ? // TODO: implement build
? ? // throw UnimplementedError();
? ? return new MaterialApp(
? ? ? title:" MyNavigationBar",
? ? ? home: new MyBottomNavigationBar(),
? ? );
? }

}

MyBottomNavigationBar():

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_app1/pages/AddScreen.dart';
import 'package:flutter_app1/pages/HomeScreen.dart';
import 'package:flutter_app1/pages/PersonScreen.dart';

class MyBottomNavigationBar extends StatefulWidget{
? @override
? MyNavigationBarState createState() {
? ? // TODO: implement createState
? ? // throw UnimplementedError();
? ? return new MyNavigationBarState();
? }

}
class MyNavigationBarState extends State<MyBottomNavigationBar>{
?List<Widget> pagesList=[];
?int cunrrentIndex=0;

?@override
? void initState() {
? ?pagesList=pagesList..add(new HomeScreen())
? ? ? ?..add(new AddScreen())
? ? ? ?..add(new PersonScreen());
? }

? @override
? Widget build(BuildContext context) {
? ? // TODO: implement build
? ? // throw UnimplementedError();
? ? return new Scaffold(
? ? ? appBar: new AppBar(
? ? ? ? title: new Text("MyNavigationBar"),
? ? ? ),
? ? ? body: pagesList[cunrrentIndex],
? ? ? bottomNavigationBar: new BottomNavigationBar(
? ? ? ? items: [
? ? ? ? ? new BottomNavigationBarItem(
? ? ? ? ? ? icon: new Icon(Icons.home),
? ? ? ? ? ? label:"Home"
? ? ? ? ? ),
? ? ? ? ? new BottomNavigationBarItem(
? ? ? ? ? ? ? icon: new Icon(Icons.add),
? ? ? ? ? ? ? label:"Add"
? ? ? ? ? ),
? ? ? ? ? new BottomNavigationBarItem(
? ? ? ? ? ? ? icon: new Icon(Icons.person),
? ? ? ? ? ? ? label:"Person"
? ? ? ? ? )
? ? ? ? ],
? ? ? ? onTap:(index){
? ? ? ? ? setState(() {
? ? ? ? ? ? cunrrentIndex=index;
? ? ? ? ? });
? ? ? ? },
? ? ? ? currentIndex: cunrrentIndex,
? ? ? )
? ? );
? }

}

addScreen:

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

class AddScreen extends StatelessWidget{
? @override
? Widget build(BuildContext context) {
? ? // TODO: implement build
? ? // throw UnimplementedError();
? ? return new Scaffold(
? ? ? appBar: new AppBar(
? ? ? ? title: new Text("AddPage"),
? ? ? ),
? ? ? body: new Center(
? ? ? ? child: new Text("Add"),
? ? ? ),
? ? );
? }

}

HomeScreen

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

class HomeScreen extends StatelessWidget{
? @override
? Widget build(BuildContext context) {
? ? // TODO: implement build
? ? // throw UnimplementedError();
? ? return new Scaffold(
? ? ? appBar: new AppBar(
? ? ? ? title: new Text("HomePage"),
? ? ? ),
? ? ? body: new Center(
? ? ? ? child:Image.asset("images/cat.png"),
? ? ? ),
? ? );
? }

}

PersonScreen :

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

class PersonScreen extends StatelessWidget{
? @override
? Widget build(BuildContext context) {
? ? // TODO: implement build
? ? // throw UnimplementedError();
? ? return new Scaffold(
? ? ? appBar: new AppBar(
? ? ? ? title: new Text("PersonPage"),
? ? ? ),
? ? ? body: new Center(
? ? ? ? child: new Text("Person"),
? ? ? ),
? ? );
? }

}

最終效果:

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 深入淺析Android Fragment(下篇)

    深入淺析Android Fragment(下篇)

    本篇文章給大家介紹如何管理Fragment回退棧,F(xiàn)ragment如何與Activity交互,F(xiàn)ragment與Activity交互的最佳實踐,沒有視圖的Fragment的用處,使用Fragment創(chuàng)建對話框,如何與ActionBar,MenuItem集成,對Android Fragment感興趣的朋友可以參考下本篇文章
    2015-10-10
  • 利用HorizontalScrollView實現(xiàn)滑動頁面時的縮放效果

    利用HorizontalScrollView實現(xiàn)滑動頁面時的縮放效果

    這篇文章主要為大家詳細介紹了利用HorizontalScrollView實現(xiàn)滑動頁面時的縮放效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • Android studio 廣播的簡單使用代碼詳解

    Android studio 廣播的簡單使用代碼詳解

    這篇文章主要介紹了Android studio 廣播的簡單使用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • Android使用viewpager實現(xiàn)自動無限輪播圖

    Android使用viewpager實現(xiàn)自動無限輪播圖

    這篇文章主要介紹了Android使用viewpager實現(xiàn)自動無限輪播圖效果,實現(xiàn)方法大概有兩種,一種是viewpager+作為游標的點 。另外一種是重寫viewpager,具體實現(xiàn)過程大家參考下本文
    2018-06-06
  • Android開發(fā)Compose框架使用開篇

    Android開發(fā)Compose框架使用開篇

    這篇文章主要為大家介紹了Android開發(fā)Compose框架使用開篇,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • Android實現(xiàn)QQ的第三方登錄和分享

    Android實現(xiàn)QQ的第三方登錄和分享

    這篇文章主要為大家詳細介紹了Android實現(xiàn)QQ的第三方登錄和分享,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • android實現(xiàn)多線程下載文件(支持暫停、取消、斷點續(xù)傳)

    android實現(xiàn)多線程下載文件(支持暫停、取消、斷點續(xù)傳)

    本篇文章主要介紹了androids實現(xiàn)多線程下載文件,主要包括暫停、取消、斷點續(xù)傳等功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-02-02
  • Android實現(xiàn)多點觸摸操作

    Android實現(xiàn)多點觸摸操作

    這篇文章主要介紹了Android實現(xiàn)多點觸摸操作,實現(xiàn)圖片的放大、縮小和旋轉(zhuǎn)等處理,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Android模仿知乎的回答詳情頁的動畫效果

    Android模仿知乎的回答詳情頁的動畫效果

    這篇文章主要介紹了Android模仿“知乎”的回答詳情頁的動畫效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-02-02
  • Android?手寫RecyclerView實現(xiàn)列表加載

    Android?手寫RecyclerView實現(xiàn)列表加載

    這篇文章主要介紹了Android?手寫RecyclerView實現(xiàn)列表加載,涉及到列表的需求,肯定第一時間想到RecyclerView,即便是自定義View,那么RecyclerView也會是首選,為什么會選擇RecyclerView而不是ListView,主要就是RecyclerView的內(nèi)存復用機制,這也是RecyclerView的核心?
    2022-08-08

最新評論

加查县| 景德镇市| 湖南省| 来安县| 额尔古纳市| 黔西县| 寿宁县| 织金县| 祥云县| 灵石县| 通化市| 兖州市| 循化| 瑞安市| 都江堰市| 新闻| 景东| 中宁县| 汾西县| 紫云| 阿拉尔市| 平凉市| 马公市| 琼结县| 惠安县| 建湖县| 溧阳市| 新绛县| 韩城市| 南宁市| 开封市| 项城市| 嘉定区| 铜梁县| 于都县| 铜山县| 双流县| 晋州市| 兰考县| 麻栗坡县| 嘉鱼县|