屏幕适配

This commit is contained in:
2026-06-04 14:34:46 +08:00
parent 02c1c87b46
commit 5ddcb95358
17 changed files with 286 additions and 126 deletions

View File

@@ -44,7 +44,7 @@ class _FlutterTemplateAppState extends ConsumerState<FlutterTemplateApp>
@override
Widget build(BuildContext context) {
return ScreenUtilInit(
designSize: const Size(375, 812),
designSize: AppConfig.designSize,
minTextAdapt: true,
splitScreenMode: true,
builder: (context, child) {
@@ -73,7 +73,7 @@ class _FlutterTemplateAppState extends ConsumerState<FlutterTemplateApp>
),
home: RefreshConfiguration(
enableLoadingWhenNoData: false,
headerTriggerDistance: 80,
headerTriggerDistance: 80.h,
child: const RecordingPage(),
),
);

View File

@@ -1,3 +1,4 @@
import 'package:flutter/material.dart';
import 'package:recording_tool/core/platform/app_platform_info.dart';
enum AppEnvironment { dev, staging, prod }
@@ -21,6 +22,7 @@ class AppConfig {
static AppPackageInfo? packageInfo;
static const appName = '飞行极控';
static const designSize = Size(375, 812);
static void configure({
required AppEnvironment environment,

View File

@@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
class AppTheme {
AppTheme._();
@@ -32,20 +33,20 @@ class AppTheme {
),
elevatedButtonTheme: ElevatedButtonThemeData(
style: ElevatedButton.styleFrom(
minimumSize: const Size(88, 44),
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)),
minimumSize: Size(88.w, 44.h),
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8.r)),
),
),
textButtonTheme: TextButtonThemeData(
style: TextButton.styleFrom(
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)),
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8.r)),
),
),
outlinedButtonTheme: OutlinedButtonThemeData(
style: OutlinedButton.styleFrom(
minimumSize: const Size(88, 44),
minimumSize: Size(88.w, 44.h),
side: const BorderSide(color: border),
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)),
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8.r)),
),
),
);
@@ -71,10 +72,10 @@ class AppTheme {
class AppSpacing {
AppSpacing._();
static const double xs = 4;
static const double sm = 8;
static const double md = 12;
static const double lg = 16;
static const double xl = 24;
static const double xxl = 32;
static double get xs => 4.r;
static double get sm => 8.r;
static double get md => 12.r;
static double get lg => 16.r;
static double get xl => 24.r;
static double get xxl => 32.r;
}