opt scroll view

Signed-off-by: dom <githubaccount56556@proton.me>
This commit is contained in:
dom
2026-04-14 09:21:06 +08:00
parent 4de43faa2e
commit f9441db232
121 changed files with 4536 additions and 126 deletions

View File

@@ -1,3 +1,4 @@
import 'package:PiliPlus/common/widgets/flutter/scroll_view/scroll_view.dart';
import 'package:PiliPlus/pages/setting/models/extra_settings.dart';
import 'package:flutter/material.dart';
@@ -20,7 +21,7 @@ class _ExtraSettingState extends State<ExtraSetting> {
return Scaffold(
resizeToAvoidBottomInset: false,
appBar: showAppBar ? AppBar(title: const Text('其它设置')) : null,
body: ListView.builder(
body: ExtendedListView.builder(
padding: EdgeInsets.only(
left: showAppBar ? padding.left : 0,
right: showAppBar ? padding.right : 0,

View File

@@ -1,6 +1,7 @@
import 'dart:io' show Platform;
import 'package:PiliPlus/common/widgets/color_palette.dart';
import 'package:PiliPlus/common/widgets/flutter/scroll_view/scroll_view.dart';
import 'package:PiliPlus/main.dart' show MyApp;
import 'package:PiliPlus/models/common/nav_bar_config.dart';
import 'package:PiliPlus/models/common/theme/theme_color_type.dart';
@@ -67,7 +68,7 @@ class _ColorSelectPageState extends State<ColorSelectPage> {
return Scaffold(
resizeToAvoidBottomInset: false,
appBar: AppBar(title: const Text('选择应用主题')),
body: ListView(
body: listView(
children: [
ListTile(
onTap: () async {

View File

@@ -3,6 +3,7 @@ import 'dart:convert';
import 'package:PiliPlus/common/constants.dart';
import 'package:PiliPlus/common/widgets/button/icon_button.dart';
import 'package:PiliPlus/common/widgets/flutter/scroll_view/scroll_view.dart';
import 'package:PiliPlus/common/widgets/loading_widget/loading_widget.dart';
import 'package:PiliPlus/services/logger.dart';
import 'package:PiliPlus/utils/date_utils.dart';
@@ -163,7 +164,7 @@ class _LogsPageState extends State<LogsPage> {
left: padding.left + 12,
right: padding.right + 12,
),
child: CustomScrollView(
child: customScrollView(
slivers: [
if (latestLog != null)
SliverToBoxAdapter(

View File

@@ -1,6 +1,7 @@
import 'dart:math';
import 'package:PiliPlus/common/widgets/flutter/list_tile.dart';
import 'package:PiliPlus/common/widgets/flutter/scroll_view/scroll_view.dart';
import 'package:PiliPlus/common/widgets/view_safe_area.dart';
import 'package:PiliPlus/pages/setting/widgets/switch_item.dart';
import 'package:PiliPlus/utils/extension/context_ext.dart';
@@ -200,7 +201,7 @@ class _PlaySpeedPageState extends State<PlaySpeedPage> {
],
),
body: ViewSafeArea(
child: ListView(
child: listView(
children: [
Padding(
padding: const EdgeInsets.only(

View File

@@ -1,3 +1,4 @@
import 'package:PiliPlus/common/widgets/flutter/scroll_view/scroll_view.dart';
import 'package:PiliPlus/pages/setting/models/play_settings.dart';
import 'package:flutter/material.dart';
@@ -20,7 +21,7 @@ class _PlaySettingState extends State<PlaySetting> {
return Scaffold(
resizeToAvoidBottomInset: false,
appBar: showAppBar ? AppBar(title: const Text('播放器设置')) : null,
body: ListView.builder(
body: ExtendedListView.builder(
padding: EdgeInsets.only(
left: showAppBar ? padding.left : 0,
right: showAppBar ? padding.right : 0,

View File

@@ -1,4 +1,5 @@
import 'package:PiliPlus/common/widgets/flutter/list_tile.dart';
import 'package:PiliPlus/common/widgets/flutter/scroll_view/scroll_view.dart';
import 'package:PiliPlus/pages/setting/models/recommend_settings.dart';
import 'package:flutter/material.dart' hide ListTile;
@@ -22,7 +23,7 @@ class _RecommendSettingState extends State<RecommendSetting> {
return Scaffold(
resizeToAvoidBottomInset: false,
appBar: widget.showAppBar ? AppBar(title: const Text('推荐流设置')) : null,
body: ListView(
body: listView(
padding: EdgeInsets.only(
left: showAppBar ? padding.left : 0,
right: showAppBar ? padding.right : 0,

View File

@@ -1,3 +1,4 @@
import 'package:PiliPlus/common/widgets/flutter/scroll_view/scroll_view.dart';
import 'package:PiliPlus/pages/setting/models/style_settings.dart';
import 'package:flutter/material.dart';
@@ -20,7 +21,7 @@ class _StyleSettingState extends State<StyleSetting> {
return Scaffold(
resizeToAvoidBottomInset: false,
appBar: showAppBar ? AppBar(title: const Text('外观设置')) : null,
body: ListView.builder(
body: ExtendedListView.builder(
padding: EdgeInsets.only(
left: showAppBar ? padding.left : 0,
right: showAppBar ? padding.right : 0,

View File

@@ -1,3 +1,4 @@
import 'package:PiliPlus/common/widgets/flutter/scroll_view/scroll_view.dart';
import 'package:PiliPlus/pages/setting/models/video_settings.dart';
import 'package:flutter/material.dart';
@@ -20,7 +21,7 @@ class _VideoSettingState extends State<VideoSetting> {
return Scaffold(
resizeToAvoidBottomInset: false,
appBar: showAppBar ? AppBar(title: const Text('音视频设置')) : null,
body: ListView.builder(
body: ExtendedListView.builder(
padding: EdgeInsets.only(
left: showAppBar ? padding.left : 0,
right: showAppBar ? padding.right : 0,

View File

@@ -1,4 +1,5 @@
import 'package:PiliPlus/common/widgets/flutter/list_tile.dart';
import 'package:PiliPlus/common/widgets/flutter/scroll_view/scroll_view.dart';
import 'package:PiliPlus/common/widgets/view_safe_area.dart';
import 'package:PiliPlus/http/login.dart';
import 'package:PiliPlus/models/common/setting_type.dart';
@@ -170,7 +171,7 @@ class _SettingPageState extends State<SettingPage> {
TextStyle subTitleStyle = theme.textTheme.labelMedium!.copyWith(
color: theme.colorScheme.outline,
);
return ListView(
return listView(
padding: EdgeInsets.only(bottom: padding.bottom + 100),
children: [
_buildSearchItem(theme),