61 lines
1.8 KiB
Dart
61 lines
1.8 KiB
Dart
|
|
import 'package:flutter/material.dart';
|
|
import 'package:get/get.dart';
|
|
import 'package:flutter/widgets.dart';
|
|
import 'package:wallpaper/pages/homePage/homePage_view.dart';
|
|
import 'package:wallpaper/pages/downloadpage/downloadpage_view.dart';
|
|
import 'package:wallpaper/pages/collectionpage/collectionpage_view.dart';
|
|
import 'package:wallpaper/pages/mypage/mypage_view.dart';
|
|
|
|
import 'tabarpage_controller.dart';
|
|
|
|
class TabbarPageView extends GetView <TabbarPageController>{
|
|
const TabbarPageView({super.key});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
final List<Widget> childPageList = getPages();
|
|
final List<BottomNavigationBarItem> listBarItems = getTabarItem();
|
|
return Scaffold(
|
|
bottomNavigationBar:Obx(() => BottomNavigationBar(
|
|
items: listBarItems,
|
|
unselectedItemColor:Colors.grey,
|
|
selectedItemColor: Colors.orange,
|
|
type: BottomNavigationBarType.fixed,
|
|
selectedFontSize: 14,
|
|
unselectedFontSize: 14,
|
|
currentIndex: controller.currentIdenx.value,
|
|
onTap: controller.onItemTapped,
|
|
)),
|
|
body: Obx(() => childPageList[controller.currentIdenx.value],)
|
|
);
|
|
}
|
|
|
|
//初始化地步tabbar的选项
|
|
List<BottomNavigationBarItem> getTabarItem(){
|
|
return [ const BottomNavigationBarItem(
|
|
icon: Icon(Icons.home),
|
|
label: "Home"
|
|
),
|
|
const BottomNavigationBarItem(
|
|
icon: Icon(Icons.collections),
|
|
label: "收藏"
|
|
),
|
|
// const BottomNavigationBarItem(
|
|
// icon: Icon(Icons.download),
|
|
// label: "下载"
|
|
// ),
|
|
const BottomNavigationBarItem(
|
|
icon: Icon(Icons.person),
|
|
label: "我的"
|
|
),
|
|
];
|
|
}
|
|
|
|
//返回每个tabitem对应控制器视图,必须一一对应
|
|
List<Widget> getPages(){
|
|
return [const HomePageView(),const CollectionPageView(),const MyPageView(),];
|
|
}
|
|
|
|
|
|
} |