<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          App開發(fā)之基礎(chǔ)頁面搭建

          共 3787字,需瀏覽 8分鐘

           ·

          2020-11-17 10:53

          搭建客戶端基礎(chǔ)頁面


          引入資源

          跟目錄創(chuàng)建assets,pubspec.yaml中引入資源

            assets:    - assets/tabs/

          圖片資源在阿里的confont中搜索。


          創(chuàng)建TabsPage

          import 'package:flutter/material.dart';import 'package:flutter_songbei/custom/buttom_bat_item.dart';
          import '../app_theme.dart';import 'tabs/found_tab.dart';import 'tabs/home_tab.dart';import 'tabs/message_tab.dart';import 'tabs/my_tab.dart';
          class TabsPage extends StatefulWidget { @override State createState() { return _TabsState(); }}
          class _TabsState extends State<TabsPage> { int _selectedIndex = 0; List pages = List();

          @override void initState() { super.initState(); pages..add(HomeTab())..add(FoundTab())..add(MessageTab())..add(MyTab()); }
          @override Widget build(BuildContext context) { return Scaffold( bottomNavigationBar: BottomAppBar( color: Colors.white, shape: CircularNotchedRectangle(), child: Row( mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ BottomBarItem(_selectedIndex == 0, 'assets/tabs/home.png', '首頁', () { _onItemTapped(0); }), BottomBarItem(_selectedIndex == 1, 'assets/tabs/found.png', '發(fā)現(xiàn)', () { _onItemTapped(1); }), SizedBox( width: 30, ), BottomBarItem(_selectedIndex == 2, 'assets/tabs/message.png', '消息', () { _onItemTapped(2); }), BottomBarItem(_selectedIndex == 3, 'assets/tabs/my.png', '我的', () { _onItemTapped(3); }) ], ), ), body: pages[_selectedIndex], floatingActionButton: FloatingActionButton( heroTag: 'circleTag', backgroundColor: AppTheme.mainColor, child: Column(mainAxisAlignment: MainAxisAlignment.center, children: [ Image( image: AssetImage('assets/tabs/add.png'), width: 30, height: 30, color: Colors.white, ), ]), onPressed: () {}, ), floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked, ); }
          void _onItemTapped(int index) { setState(() { _selectedIndex = index; }); }}


          在main中設(shè)置home為TabsPage


          在pages/tabs/目錄下創(chuàng)建四個頁面?HomeTab,FoundTab,MessageTab,MyTab


          import 'package:flutter/material.dart';import 'package:flutter_songbei/app_theme.dart';
          class HomeTab extends StatefulWidget { @override State createState() { return _PageState(); }
          }
          class _PageState extends State<HomeTab>{ @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('首頁'), backgroundColor: AppTheme.mainColor, ), ); }}


          因為底部按鈕中有中間凸起按鈕,所以我們采用BottomAppBar,封裝BottomBarItem


          import 'package:flutter/material.dart';
          class BottomBarItem extends StatelessWidget{
          Color actionColor = Colors.black87; Color menuColor = Color(0xff707070);
          bool isSelect; String assetName; String title; Function onItem; BottomBarItem(this.isSelect,this.assetName,this.title,this.onItem); @override Widget build(BuildContext context) { return Container( padding: EdgeInsets.fromLTRB(0, 5, 0, 5), height: 60, child: InkWell( child: Column( children: [ Image( image: AssetImage(assetName), color: isSelect?actionColor:menuColor, width: 28, height: 28, ), Text(title, style: TextStyle( color:isSelect?actionColor:menuColor ) ) ], ), onTap: (){ this.onItem(); }, ), ); }
          }

          整體目錄

          運行效果

          基礎(chǔ)頁面至此搭建完成

          瀏覽 59
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日韩小电影在线 | 五月天亚洲淫淫网 | 欧美做受高潮白 | 青青青草成人视频视频 | 婷婷丁香花激情 |