basestatefulewidget 0.0.3 copy "basestatefulewidget: ^0.0.3" to clipboard
basestatefulewidget: ^0.0.3 copied to clipboard

a statefulwidget extend statefulwidget.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'dart:async';
import 'package:wstatefulewidget_example/test.dart';
import 'dart:io';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:wstatefulewidget_example/yy_route.dart';

final GlobalKey<NavigatorState> navigatorKey = new GlobalKey<NavigatorState>();

///Android沉浸式状态栏设置
class Global {
  static Future init(VoidCallback callback) async {
    callback();
  }
}

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  if (Platform.isAndroid) {
    SystemUiOverlayStyle systemUiOverlayStyle = const SystemUiOverlayStyle(
      statusBarColor: Colors.transparent,
      statusBarBrightness: Brightness.light,
    );
    SystemChrome.setSystemUIOverlayStyle(systemUiOverlayStyle);
  }
  SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge);

  Global.init(() {
    runApp(const YyApp());
  });
}

class YyApp extends StatelessWidget {
  const YyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MyHomePage(title: '');
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});
  final String title;
  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  WillPopCallback? popCallback;
  Future<void> init() async {}
  @override
  void initState() {
    super.initState();
    init();
    popCallback = () {
      return Future.value(false);
    };
  }

  @override
  Widget build(BuildContext context) {
    return ScreenUtilInit(
        designSize: const Size(750, 1624),
        // splitScreenMode: true,
        builder: (_, child) {
          return GetMaterialApp(
            //去掉右上角debug提示
            navigatorObservers: [RouteObserver()],
            onGenerateRoute: (settings) {
              return MaterialPageRoute(
                builder: (context) => MyHomePage(title: ''),
                fullscreenDialog: true,
              );
            },
            navigatorKey: navigatorKey,
            debugShowCheckedModeBanner: false,
            localeListResolutionCallback: (locales, supportedLocales) {
              return supportedLocales.first;
            },
            title: 'App',
            builder: (context, child) {
              child = GestureDetector(
                child: WillPopScope(
                  onWillPop: popCallback,
                  child: child!,
                ),
                onHorizontalDragEnd: (details) {
                  print("onPanEnd---${details.velocity.pixelsPerSecond}");
                },
              );
              child = CupertinoPageScaffold(
                  resizeToAvoidBottomInset: false,
                  child: GestureDetector(
                    onHorizontalDragUpdate: (details) {},
                    child: child,
                  ));
              return GestureDetector(
                onVerticalDragUpdate: (details) {},
                onHorizontalDragUpdate: (details) {},
                child: child,
              );
            },
            locale: Get.deviceLocale,
            fallbackLocale: const Locale('zh', 'CN'),
            getPages: YyRouter.routerNames,
            initialRoute: YyRouter.home,
          );
        });
  }
}

class GlobalCupertinoLocalizations {}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: NavigationPage(), // 使用包含 Navigator 的页面作为 MaterialApp 的 home
    );
  }
}

class NavigationPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: GestureDetector(
        onTap: () {
          Navigator.push(
            context,
            MaterialPageRoute(builder: (context) => Test()),
          );
        },
        child: Center(
          child: Text('Tap to navigate'),
        ),
      ),
    );
  }
}
1
likes
105
points
14
downloads

Publisher

unverified uploader

Weekly Downloads

a statefulwidget extend statefulwidget.

Documentation

API reference

License

unknown (license)

Dependencies

flutter, flutter_screenutil, get, plugin_platform_interface, webview_flutter

More

Packages that depend on basestatefulewidget

Packages that implement basestatefulewidget