Untitled
unknown
plain_text
2 years ago
6.8 kB
3
Indexable
import 'package:assets_audio_player/assets_audio_player.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_downloader/flutter_downloader.dart'; import 'package:flutter_native_splash/flutter_native_splash.dart'; import 'package:get/get.dart'; import 'package:get_storage/get_storage.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:pull_to_refresh/pull_to_refresh.dart'; import 'package:responsive_framework/responsive_framework.dart'; import 'utils/utils.dart'; import 'views/songs.dart'; void main() async { WidgetsBinding widgetsBinding = WidgetsFlutterBinding.ensureInitialized(); SystemChrome.setPreferredOrientations( [DeviceOrientation.portraitUp, DeviceOrientation.portraitDown], ); await FlutterDownloader.initialize(debug: true, ignoreSsl: true); FlutterNativeSplash.preserve(widgetsBinding: widgetsBinding); AssetsAudioPlayer.setupNotificationsOpenAction((notification) { return true; }); await GetStorage.init('liveallin'); runApp(LiveAllIn()); } class LiveAllIn extends StatelessWidget { final GlobalKey<NavigatorState> navigatorKey = GlobalKey<NavigatorState>(); @override Widget build(BuildContext context) { return RefreshConfiguration( headerBuilder: () => MaterialClassicHeader( backgroundColor: Colors.white, color: AppUtils.primaryColor, ), headerTriggerDistance: 80.0, springDescription: SpringDescription( stiffness: 170, damping: 16, mass: 1.9, ), maxOverScrollExtent: 100, maxUnderScrollExtent: 0, enableLoadingWhenFailed: true, hideFooterWhenNotFull: true, enableBallisticLoad: true, child: GestureDetector( onTap: () { FocusManager.instance.primaryFocus?.unfocus(); }, child: GetMaterialApp( title: AppUtils.appName, debugShowCheckedModeBanner: false, navigatorKey: navigatorKey, theme: ThemeData( visualDensity: VisualDensity.adaptivePlatformDensity, primaryColor: AppUtils.primaryColor, scaffoldBackgroundColor: AppUtils.scaffold, appBarTheme: AppBarTheme( backgroundColor: AppUtils.secondaryColor, toolbarHeight: 60.0, centerTitle: true, titleTextStyle: TextStyle( fontSize: 24.0, fontWeight: FontWeight.bold, ), ), textTheme: GoogleFonts.robotoTextTheme(), inputDecorationTheme: InputDecorationTheme( isDense: false, floatingLabelBehavior: FloatingLabelBehavior.auto, prefixIconColor: AppUtils.labelColor, errorStyle: TextStyle( fontSize: 15.0, ), hintStyle: TextStyle( // color: AppUtils.labelColor, fontSize: 20.0, ), labelStyle: TextStyle( color: AppUtils.labelColor, fontSize: 20.0, ), // contentPadding: EdgeInsets.symmetric( // vertical: 18.0, // horizontal: 10.0, // ), border: OutlineInputBorder( borderSide: BorderSide( color: Colors.white, ), // borderRadius: BorderRadius.circular(30.0), borderRadius: BorderRadius.zero, ), disabledBorder: OutlineInputBorder( borderSide: BorderSide( color: Colors.white, ), // borderRadius: BorderRadius.circular(30.0), borderRadius: BorderRadius.zero, ), focusedBorder: OutlineInputBorder( borderSide: BorderSide( color: Colors.white, ), // borderRadius: BorderRadius.circular(30.0), borderRadius: BorderRadius.zero, ), enabledBorder: OutlineInputBorder( borderSide: BorderSide( color: Colors.white, ), // borderRadius: BorderRadius.circular(30.0), borderRadius: BorderRadius.zero, ), ), elevatedButtonTheme: ElevatedButtonThemeData( style: ButtonStyle( overlayColor: MaterialStateProperty.all(Colors.transparent), backgroundColor: MaterialStateProperty.all(AppUtils.primaryColor), elevation: MaterialStateProperty.all(0.0), padding: MaterialStateProperty.all( EdgeInsets.symmetric( vertical: 18.0, ), ), shape: MaterialStateProperty.all( RoundedRectangleBorder( // borderRadius: BorderRadius.circular(30.0), borderRadius: BorderRadius.circular(5.0), ), ), // primary: AppUtils.primaryColor, // elevation: 0.0, // padding: const EdgeInsets.symmetric( // vertical: 18.0, // ), // shape: RoundedRectangleBorder( // borderRadius: BorderRadius.circular(5.0), // ), ), ), textButtonTheme: TextButtonThemeData( style: ButtonStyle( overlayColor: MaterialStateProperty.all(Colors.transparent), ), ), ), builder: (context, widget) => MediaQuery( data: MediaQuery.of(context).copyWith(textScaleFactor: 1.0), child: ResponsiveWrapper.builder( ScrollConfiguration( behavior: MyBehavior(), child: widget!, ), maxWidth: 1200, minWidth: 480, defaultScale: true, debugLog: false, breakpoints: [ const ResponsiveBreakpoint.resize(480, name: MOBILE), const ResponsiveBreakpoint.autoScale(800, name: TABLET), const ResponsiveBreakpoint.resize(1000, name: DESKTOP), ], ), ), home: Songs(), ), ), ); } } class MyBehavior extends ScrollBehavior { Widget buildViewportChrome( BuildContext context, Widget child, AxisDirection axisDirection, ) { return child; } }
Editor is loading...