mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
fix: 添加列表强制滚动
This commit is contained in:
@@ -80,6 +80,7 @@ class _BangumiPageState extends State<BangumiPage>
|
|||||||
},
|
},
|
||||||
child: CustomScrollView(
|
child: CustomScrollView(
|
||||||
controller: _bangumidController.scrollController,
|
controller: _bangumidController.scrollController,
|
||||||
|
physics: const AlwaysScrollableScrollPhysics(),
|
||||||
slivers: [
|
slivers: [
|
||||||
SliverToBoxAdapter(
|
SliverToBoxAdapter(
|
||||||
child: Obx(
|
child: Obx(
|
||||||
|
|||||||
@@ -214,6 +214,7 @@ class _DynamicDetailPageState extends State<DynamicDetailPage>
|
|||||||
children: [
|
children: [
|
||||||
CustomScrollView(
|
CustomScrollView(
|
||||||
controller: scrollController,
|
controller: scrollController,
|
||||||
|
physics: const AlwaysScrollableScrollPhysics(),
|
||||||
slivers: [
|
slivers: [
|
||||||
if (action != 'comment')
|
if (action != 'comment')
|
||||||
SliverToBoxAdapter(
|
SliverToBoxAdapter(
|
||||||
|
|||||||
@@ -202,6 +202,7 @@ class _DynamicsPageState extends State<DynamicsPage>
|
|||||||
body: RefreshIndicator(
|
body: RefreshIndicator(
|
||||||
onRefresh: () => _dynamicsController.onRefresh(),
|
onRefresh: () => _dynamicsController.onRefresh(),
|
||||||
child: CustomScrollView(
|
child: CustomScrollView(
|
||||||
|
physics: const AlwaysScrollableScrollPhysics(),
|
||||||
controller: _dynamicsController.scrollController,
|
controller: _dynamicsController.scrollController,
|
||||||
slivers: [
|
slivers: [
|
||||||
FutureBuilder(
|
FutureBuilder(
|
||||||
|
|||||||
@@ -63,15 +63,20 @@ class _FavPageState extends State<FavPage> {
|
|||||||
if (snapshot.connectionState == ConnectionState.done) {
|
if (snapshot.connectionState == ConnectionState.done) {
|
||||||
Map data = snapshot.data as Map;
|
Map data = snapshot.data as Map;
|
||||||
if (data['status']) {
|
if (data['status']) {
|
||||||
return Obx(() =>
|
return Obx(() => CustomScrollView(
|
||||||
CustomScrollView(controller: scrollController, slivers: [
|
controller: scrollController,
|
||||||
|
physics: const AlwaysScrollableScrollPhysics(),
|
||||||
|
slivers: [
|
||||||
SliverGrid(
|
SliverGrid(
|
||||||
gridDelegate: SliverGridDelegateWithMaxCrossAxisExtent(
|
gridDelegate:
|
||||||
|
SliverGridDelegateWithMaxCrossAxisExtent(
|
||||||
mainAxisSpacing: StyleString.cardSpace,
|
mainAxisSpacing: StyleString.cardSpace,
|
||||||
crossAxisSpacing: StyleString.safeSpace,
|
crossAxisSpacing: StyleString.safeSpace,
|
||||||
maxCrossAxisExtent: Grid.maxRowWidth * 2,
|
maxCrossAxisExtent: Grid.maxRowWidth * 2,
|
||||||
mainAxisExtent: Grid.calculateActualWidth(context,
|
mainAxisExtent: Grid.calculateActualWidth(
|
||||||
Grid.maxRowWidth * 2, StyleString.safeSpace) /
|
context,
|
||||||
|
Grid.maxRowWidth * 2,
|
||||||
|
StyleString.safeSpace) /
|
||||||
1.9 /
|
1.9 /
|
||||||
StyleString.aspectRatio),
|
StyleString.aspectRatio),
|
||||||
delegate: SliverChildBuilderDelegate(
|
delegate: SliverChildBuilderDelegate(
|
||||||
|
|||||||
@@ -62,6 +62,7 @@ class _FavDetailPageState extends State<FavDetailPage> {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
body: CustomScrollView(
|
body: CustomScrollView(
|
||||||
|
physics: const AlwaysScrollableScrollPhysics(),
|
||||||
controller: _controller,
|
controller: _controller,
|
||||||
slivers: [
|
slivers: [
|
||||||
SliverAppBar(
|
SliverAppBar(
|
||||||
|
|||||||
@@ -178,6 +178,7 @@ class _HistoryPageState extends State<HistoryPage> {
|
|||||||
return;
|
return;
|
||||||
},
|
},
|
||||||
child: CustomScrollView(
|
child: CustomScrollView(
|
||||||
|
physics: const AlwaysScrollableScrollPhysics(),
|
||||||
controller: _historyController.scrollController,
|
controller: _historyController.scrollController,
|
||||||
slivers: [
|
slivers: [
|
||||||
FutureBuilder(
|
FutureBuilder(
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ class _HotPageState extends State<HotPage> with AutomaticKeepAliveClientMixin {
|
|||||||
return await _hotController.onRefresh();
|
return await _hotController.onRefresh();
|
||||||
},
|
},
|
||||||
child: CustomScrollView(
|
child: CustomScrollView(
|
||||||
|
physics: const AlwaysScrollableScrollPhysics(),
|
||||||
controller: _hotController.scrollController,
|
controller: _hotController.scrollController,
|
||||||
slivers: [
|
slivers: [
|
||||||
SliverPadding(
|
SliverPadding(
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ class _LaterPageState extends State<LaterPage> {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
body: CustomScrollView(
|
body: CustomScrollView(
|
||||||
|
physics: const AlwaysScrollableScrollPhysics(),
|
||||||
controller: _laterController.scrollController,
|
controller: _laterController.scrollController,
|
||||||
slivers: [
|
slivers: [
|
||||||
FutureBuilder(
|
FutureBuilder(
|
||||||
|
|||||||
@@ -85,6 +85,7 @@ class _LivePageState extends State<LivePage>
|
|||||||
return await _liveController.onRefresh();
|
return await _liveController.onRefresh();
|
||||||
},
|
},
|
||||||
child: CustomScrollView(
|
child: CustomScrollView(
|
||||||
|
physics: const AlwaysScrollableScrollPhysics(),
|
||||||
controller: _liveController.scrollController,
|
controller: _liveController.scrollController,
|
||||||
slivers: [
|
slivers: [
|
||||||
SliverPadding(
|
SliverPadding(
|
||||||
|
|||||||
@@ -62,6 +62,7 @@ class _MemberArchivePageState extends State<MemberArchivePage> {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
body: CustomScrollView(
|
body: CustomScrollView(
|
||||||
|
physics: const AlwaysScrollableScrollPhysics(),
|
||||||
controller: _memberArchivesController.scrollController,
|
controller: _memberArchivesController.scrollController,
|
||||||
slivers: [
|
slivers: [
|
||||||
FutureBuilder(
|
FutureBuilder(
|
||||||
|
|||||||
@@ -61,6 +61,7 @@ class _MemberDynamicsPageState extends State<MemberDynamicsPage> {
|
|||||||
title: Text('他的动态', style: Theme.of(context).textTheme.titleMedium),
|
title: Text('他的动态', style: Theme.of(context).textTheme.titleMedium),
|
||||||
),
|
),
|
||||||
body: CustomScrollView(
|
body: CustomScrollView(
|
||||||
|
physics: const AlwaysScrollableScrollPhysics(),
|
||||||
controller: _memberDynamicController.scrollController,
|
controller: _memberDynamicController.scrollController,
|
||||||
slivers: [
|
slivers: [
|
||||||
FutureBuilder(
|
FutureBuilder(
|
||||||
|
|||||||
@@ -53,15 +53,20 @@ class _SubPageState extends State<SubPage> {
|
|||||||
if (snapshot.connectionState == ConnectionState.done) {
|
if (snapshot.connectionState == ConnectionState.done) {
|
||||||
Map? data = snapshot.data;
|
Map? data = snapshot.data;
|
||||||
if (data != null && data['status']) {
|
if (data != null && data['status']) {
|
||||||
return Obx(() =>
|
return Obx(() => CustomScrollView(
|
||||||
CustomScrollView(controller: scrollController, slivers: [
|
controller: scrollController,
|
||||||
|
physics: const AlwaysScrollableScrollPhysics(),
|
||||||
|
slivers: [
|
||||||
SliverGrid(
|
SliverGrid(
|
||||||
gridDelegate: SliverGridDelegateWithMaxCrossAxisExtent(
|
gridDelegate:
|
||||||
|
SliverGridDelegateWithMaxCrossAxisExtent(
|
||||||
mainAxisSpacing: StyleString.cardSpace,
|
mainAxisSpacing: StyleString.cardSpace,
|
||||||
crossAxisSpacing: StyleString.safeSpace,
|
crossAxisSpacing: StyleString.safeSpace,
|
||||||
maxCrossAxisExtent: Grid.maxRowWidth * 2,
|
maxCrossAxisExtent: Grid.maxRowWidth * 2,
|
||||||
mainAxisExtent: Grid.calculateActualWidth(context,
|
mainAxisExtent: Grid.calculateActualWidth(
|
||||||
Grid.maxRowWidth * 2, StyleString.safeSpace) /
|
context,
|
||||||
|
Grid.maxRowWidth * 2,
|
||||||
|
StyleString.safeSpace) /
|
||||||
1.9 /
|
1.9 /
|
||||||
StyleString.aspectRatio),
|
StyleString.aspectRatio),
|
||||||
delegate: SliverChildBuilderDelegate(
|
delegate: SliverChildBuilderDelegate(
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ class _SubDetailPageState extends State<SubDetailPage> {
|
|||||||
return Scaffold(
|
return Scaffold(
|
||||||
body: CustomScrollView(
|
body: CustomScrollView(
|
||||||
controller: _controller,
|
controller: _controller,
|
||||||
|
physics: const AlwaysScrollableScrollPhysics(),
|
||||||
slivers: [
|
slivers: [
|
||||||
SliverAppBar(
|
SliverAppBar(
|
||||||
expandedHeight: 260 - MediaQuery.of(context).padding.top,
|
expandedHeight: 260 - MediaQuery.of(context).padding.top,
|
||||||
|
|||||||
@@ -109,6 +109,7 @@ class _VideoReplyReplyPanelState extends State<VideoReplyReplyPanel> {
|
|||||||
},
|
},
|
||||||
child: CustomScrollView(
|
child: CustomScrollView(
|
||||||
controller: _videoReplyReplyController.scrollController,
|
controller: _videoReplyReplyController.scrollController,
|
||||||
|
physics: const AlwaysScrollableScrollPhysics(),
|
||||||
slivers: <Widget>[
|
slivers: <Widget>[
|
||||||
if (widget.firstFloor != null) ...[
|
if (widget.firstFloor != null) ...[
|
||||||
// const SliverToBoxAdapter(child: SizedBox(height: 10)),
|
// const SliverToBoxAdapter(child: SizedBox(height: 10)),
|
||||||
|
|||||||
Reference in New Issue
Block a user