123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- import 'package:flutter/material.dart';
- import 'package:get/get.dart';
- import 'package:ftrecruiter/comm/utils/log_utils.dart';
- import 'package:ftrecruiter/comm/widget/load_state_layout.dart';
- import 'package:ftrecruiter/modules/zdemo/page_four.dart';
- import 'package:ftrecruiter/modules/zdemo/page_one.dart';
- import 'package:ftrecruiter/modules/zdemo/page_three.dart';
- import 'package:ftrecruiter/modules/zdemo/page_two.dart';
- class DemoLoadPage extends StatelessWidget {
- final controller = Get.put(DemoLoadController());
- final _pageController = PageController(initialPage: 0, keepPage: true);
- @override
- Widget build(BuildContext context) {
- return Scaffold(
- appBar: AppBar(
- title: const Text("测试LoadStateLayout"),
- ),
- body: GetBuilder<DemoLoadController>(builder: (controller) {
- //加载布局-封装Loading Error Empty Success状态切换
- return LoadStateLayout(
- state: controller._layoutState,
- errorRetry: () {
- controller.changeState(LoadState.State_Loading);
- controller.loadData();
- },
- //加载成功的页面-试试ViewPager的滑动效果
- successWidget: PageView(
- controller: _pageController,
- onPageChanged: (index) {
- Log.d("cur index:$index");
- // _pageController.jumpToPage(index);
- _pageController.animateToPage(index,
- duration: const Duration(milliseconds: 16), //跳转的间隔时间
- curve: Curves.fastOutSlowIn);
- },
- children: [
- PageOne(),
- PageTwo(),
- PageThree(),
- PageFour(),
- ],
- ),
- );
- }));
- }
- }
- class DemoLoadController extends GetxController {
- LoadState _layoutState = LoadState.State_Loading;
- void changeState(LoadState state) {
- _layoutState = state;
- update();
- }
- @override
- void onReady() {
- super.onReady();
- loadData();
- }
- void loadData() {
- //模拟网络请求
- Future.delayed(const Duration(seconds: 2)).then((_) {
- //此为加载结束
- changeState(LoadState.State_Success);
- // changeState(LoadState.State_Empty);
- // changeState(LoadState.State_Error);
- }).catchError((_) {
- //此为加载失败
- changeState(LoadState.State_Error);
- });
- }
- }
|