fix: 添加列表强制滚动

This commit is contained in:
orz12
2024-03-07 10:53:02 +08:00
parent f29d141561
commit e2651f3c82
14 changed files with 66 additions and 44 deletions

View File

@@ -80,6 +80,7 @@ class _BangumiPageState extends State<BangumiPage>
},
child: CustomScrollView(
controller: _bangumidController.scrollController,
physics: const AlwaysScrollableScrollPhysics(),
slivers: [
SliverToBoxAdapter(
child: Obx(

View File

@@ -214,6 +214,7 @@ class _DynamicDetailPageState extends State<DynamicDetailPage>
children: [
CustomScrollView(
controller: scrollController,
physics: const AlwaysScrollableScrollPhysics(),
slivers: [
if (action != 'comment')
SliverToBoxAdapter(

View File

@@ -202,6 +202,7 @@ class _DynamicsPageState extends State<DynamicsPage>
body: RefreshIndicator(
onRefresh: () => _dynamicsController.onRefresh(),
child: CustomScrollView(
physics: const AlwaysScrollableScrollPhysics(),
controller: _dynamicsController.scrollController,
slivers: [
FutureBuilder(

View File

@@ -63,15 +63,20 @@ class _FavPageState extends State<FavPage> {
if (snapshot.connectionState == ConnectionState.done) {
Map data = snapshot.data as Map;
if (data['status']) {
return Obx(() =>
CustomScrollView(controller: scrollController, slivers: [
return Obx(() => CustomScrollView(
controller: scrollController,
physics: const AlwaysScrollableScrollPhysics(),
slivers: [
SliverGrid(
gridDelegate: SliverGridDelegateWithMaxCrossAxisExtent(
gridDelegate:
SliverGridDelegateWithMaxCrossAxisExtent(
mainAxisSpacing: StyleString.cardSpace,
crossAxisSpacing: StyleString.safeSpace,
maxCrossAxisExtent: Grid.maxRowWidth * 2,
mainAxisExtent: Grid.calculateActualWidth(context,
Grid.maxRowWidth * 2, StyleString.safeSpace) /
mainAxisExtent: Grid.calculateActualWidth(
context,
Grid.maxRowWidth * 2,
StyleString.safeSpace) /
1.9 /
StyleString.aspectRatio),
delegate: SliverChildBuilderDelegate(

View File

@@ -62,6 +62,7 @@ class _FavDetailPageState extends State<FavDetailPage> {
Widget build(BuildContext context) {
return Scaffold(
body: CustomScrollView(
physics: const AlwaysScrollableScrollPhysics(),
controller: _controller,
slivers: [
SliverAppBar(

View File

@@ -178,6 +178,7 @@ class _HistoryPageState extends State<HistoryPage> {
return;
},
child: CustomScrollView(
physics: const AlwaysScrollableScrollPhysics(),
controller: _historyController.scrollController,
slivers: [
FutureBuilder(

View File

@@ -77,6 +77,7 @@ class _HotPageState extends State<HotPage> with AutomaticKeepAliveClientMixin {
return await _hotController.onRefresh();
},
child: CustomScrollView(
physics: const AlwaysScrollableScrollPhysics(),
controller: _hotController.scrollController,
slivers: [
SliverPadding(

View File

@@ -69,6 +69,7 @@ class _LaterPageState extends State<LaterPage> {
],
),
body: CustomScrollView(
physics: const AlwaysScrollableScrollPhysics(),
controller: _laterController.scrollController,
slivers: [
FutureBuilder(

View File

@@ -85,6 +85,7 @@ class _LivePageState extends State<LivePage>
return await _liveController.onRefresh();
},
child: CustomScrollView(
physics: const AlwaysScrollableScrollPhysics(),
controller: _liveController.scrollController,
slivers: [
SliverPadding(

View File

@@ -62,6 +62,7 @@ class _MemberArchivePageState extends State<MemberArchivePage> {
],
),
body: CustomScrollView(
physics: const AlwaysScrollableScrollPhysics(),
controller: _memberArchivesController.scrollController,
slivers: [
FutureBuilder(

View File

@@ -61,6 +61,7 @@ class _MemberDynamicsPageState extends State<MemberDynamicsPage> {
title: Text('他的动态', style: Theme.of(context).textTheme.titleMedium),
),
body: CustomScrollView(
physics: const AlwaysScrollableScrollPhysics(),
controller: _memberDynamicController.scrollController,
slivers: [
FutureBuilder(

View File

@@ -53,15 +53,20 @@ class _SubPageState extends State<SubPage> {
if (snapshot.connectionState == ConnectionState.done) {
Map? data = snapshot.data;
if (data != null && data['status']) {
return Obx(() =>
CustomScrollView(controller: scrollController, slivers: [
return Obx(() => CustomScrollView(
controller: scrollController,
physics: const AlwaysScrollableScrollPhysics(),
slivers: [
SliverGrid(
gridDelegate: SliverGridDelegateWithMaxCrossAxisExtent(
gridDelegate:
SliverGridDelegateWithMaxCrossAxisExtent(
mainAxisSpacing: StyleString.cardSpace,
crossAxisSpacing: StyleString.safeSpace,
maxCrossAxisExtent: Grid.maxRowWidth * 2,
mainAxisExtent: Grid.calculateActualWidth(context,
Grid.maxRowWidth * 2, StyleString.safeSpace) /
mainAxisExtent: Grid.calculateActualWidth(
context,
Grid.maxRowWidth * 2,
StyleString.safeSpace) /
1.9 /
StyleString.aspectRatio),
delegate: SliverChildBuilderDelegate(

View File

@@ -63,6 +63,7 @@ class _SubDetailPageState extends State<SubDetailPage> {
return Scaffold(
body: CustomScrollView(
controller: _controller,
physics: const AlwaysScrollableScrollPhysics(),
slivers: [
SliverAppBar(
expandedHeight: 260 - MediaQuery.of(context).padding.top,

View File

@@ -109,6 +109,7 @@ class _VideoReplyReplyPanelState extends State<VideoReplyReplyPanel> {
},
child: CustomScrollView(
controller: _videoReplyReplyController.scrollController,
physics: const AlwaysScrollableScrollPhysics(),
slivers: <Widget>[
if (widget.firstFloor != null) ...[
// const SliverToBoxAdapter(child: SizedBox(height: 10)),