WallPaper_FSX_Flutter/lib/modules/root/root_view.dart
2024-05-13 13:44:27 +08:00

37 lines
1.1 KiB
Dart

import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:wallpaper/common/components/keep_alive_wrapper.dart';
import 'package:wallpaper/modules/root/root_controller.dart';
class RootView extends GetView<RootController> {
const RootView({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
body: PageView(
physics: const NeverScrollableScrollPhysics(),
controller: controller.pageController,
onPageChanged: (index) => controller.onPageChanged(index),
children: controller.pages.map((e) => KeepAliveWrapper(child: e.widget)).toList(),
),
bottomNavigationBar: Obx(() {
return BottomNavigationBar(
currentIndex: controller.currentIndex.value,
onTap: (index) => controller.onTabTapped(index),
items: _bottomNavigationBarItems(),
);
}),
);
}
List<BottomNavigationBarItem> _bottomNavigationBarItems() {
return controller.pages.map((e) {
return BottomNavigationBarItem(
icon: Icon(e.icons),
label: e.label,
);
}).toList();
}
}