- 管理页:单元集 / 计划 / 算法三个维度,卡片带元数据 - 账户页:资料、学习数据、竖直分组的四个功能入口 - 新增设置、文档与帮助(底部可上滑助手)、反馈、关于四个页面 - 抽出 StatBlock 与 GroupedListSection 共用组件 - 关闭 Android 预测式返回,转场改为 M3 水平滑入
48 lines
1.6 KiB
Dart
48 lines
1.6 KiB
Dart
import 'package:flutter/cupertino.dart' show CupertinoPageTransitionsBuilder;
|
||
import 'package:flutter/material.dart';
|
||
|
||
import 'app_info.dart';
|
||
import 'app_shell.dart';
|
||
|
||
void main() {
|
||
runApp(const KiriMemoApp());
|
||
}
|
||
|
||
class KiriMemoApp extends StatelessWidget {
|
||
const KiriMemoApp({super.key});
|
||
|
||
@override
|
||
Widget build(BuildContext context) {
|
||
return MaterialApp(
|
||
title: appName,
|
||
debugShowCheckedModeBanner: false,
|
||
theme: _theme(Brightness.light),
|
||
darkTheme: _theme(Brightness.dark),
|
||
home: const AppShell(),
|
||
);
|
||
}
|
||
|
||
static ThemeData _theme(Brightness brightness) {
|
||
return ThemeData(
|
||
colorScheme: ColorScheme.fromSeed(
|
||
seedColor: const Color(0xFF4C6EF5),
|
||
brightness: brightness,
|
||
),
|
||
// Flutter 3.47 起 Android 默认用 PredictiveBackPageTransitionsBuilder,
|
||
// 配合 targetSdk 36(Android 15+ 默认开启预测式返回)会在单路由外壳里
|
||
// 出现"预览走完直接退应用"的割裂感。这里显式换成无预测的 M3 水平
|
||
// 滑入转场(FadeForwards),同时 AndroidManifest 里关掉了
|
||
// enableOnBackInvokedCallback。
|
||
pageTransitionsTheme: const PageTransitionsTheme(
|
||
builders: <TargetPlatform, PageTransitionsBuilder>{
|
||
TargetPlatform.android: FadeForwardsPageTransitionsBuilder(),
|
||
TargetPlatform.iOS: CupertinoPageTransitionsBuilder(),
|
||
TargetPlatform.macOS: CupertinoPageTransitionsBuilder(),
|
||
TargetPlatform.linux: FadeForwardsPageTransitionsBuilder(),
|
||
TargetPlatform.windows: FadeForwardsPageTransitionsBuilder(),
|
||
},
|
||
),
|
||
);
|
||
}
|
||
}
|