mod: 横版视频卡片变扁、标题额外显示一行、分区尺寸额外适配

This commit is contained in:
orz12
2024-07-07 15:06:03 +08:00
parent 76cd85b9eb
commit 8c5f0b18d2
15 changed files with 61 additions and 56 deletions

View File

@@ -178,43 +178,49 @@ class VideoContent extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
if (videoItem.title is String) ...[ if (videoItem.title is String) ...[
Text( Expanded(
videoItem.title as String, child: Text(
textAlign: TextAlign.start, videoItem.title as String,
style: TextStyle( textAlign: TextAlign.start,
fontWeight: FontWeight.w500, style: TextStyle(
fontSize: Theme.of(context).textTheme.bodyMedium!.fontSize, fontWeight: FontWeight.w500,
height: 1.4, fontSize: Theme.of(context).textTheme.bodyMedium!.fontSize,
letterSpacing: 0.3, height: 1.36,
letterSpacing: 0.3,
),
maxLines: 3,
overflow: TextOverflow.ellipsis,
), ),
maxLines: 2,
overflow: TextOverflow.ellipsis,
), ),
] else ...[ ] else ...[
RichText( Expanded(
overflow: TextOverflow.ellipsis, child: RichText(
maxLines: 2, overflow: TextOverflow.ellipsis,
text: TextSpan( maxLines: 3,
children: [ text: TextSpan(
for (final i in videoItem.title) ...[ children: [
TextSpan( for (final i in videoItem.title) ...[
text: i['text'] as String, TextSpan(
style: TextStyle( text: i['text'] as String,
fontWeight: FontWeight.w500, style: TextStyle(
fontSize: fontWeight: FontWeight.w500,
Theme.of(context).textTheme.bodyMedium!.fontSize, fontSize: Theme.of(context)
letterSpacing: 0.3, .textTheme
color: i['type'] == 'em' .bodyMedium!
? Theme.of(context).colorScheme.primary .fontSize,
: Theme.of(context).colorScheme.onSurface, letterSpacing: 0.3,
color: i['type'] == 'em'
? Theme.of(context).colorScheme.primary
: Theme.of(context).colorScheme.onSurface,
),
), ),
), ]
] ],
], ),
), ),
), ),
], ],
const Spacer(), // const Spacer(),
// if (videoItem.rcmdReason != null && // if (videoItem.rcmdReason != null &&
// videoItem.rcmdReason.content != '') // videoItem.rcmdReason.content != '')
// Container( // Container(
@@ -239,14 +245,14 @@ class VideoContent extends StatelessWidget {
"${pubdate}${showOwner ? videoItem.owner.name : ''}", "${pubdate}${showOwner ? videoItem.owner.name : ''}",
maxLines: 1, maxLines: 1,
style: TextStyle( style: TextStyle(
fontSize: 11, fontSize: Theme.of(context).textTheme.labelSmall!.fontSize,
height: 1, height: 1,
color: Theme.of(context).colorScheme.outline, color: Theme.of(context).colorScheme.outline,
overflow: TextOverflow.clip, overflow: TextOverflow.clip,
), ),
), ),
), ),
const SizedBox(height: 4), const SizedBox(height: 3),
Row( Row(
children: [ children: [
if (showView) ...[ if (showView) ...[
@@ -265,7 +271,6 @@ class VideoContent extends StatelessWidget {
if (source == 'normal') const SizedBox(width: 24), if (source == 'normal') const SizedBox(width: 24),
], ],
), ),
const SizedBox(height: 5),
], ],
), ),
), ),

View File

@@ -73,7 +73,7 @@ class _FavPageState extends State<FavPage> {
mainAxisSpacing: StyleString.cardSpace, mainAxisSpacing: StyleString.cardSpace,
crossAxisSpacing: StyleString.safeSpace, crossAxisSpacing: StyleString.safeSpace,
maxCrossAxisExtent: Grid.maxRowWidth * 2, maxCrossAxisExtent: Grid.maxRowWidth * 2,
childAspectRatio: StyleString.aspectRatio * 2.3, childAspectRatio: StyleString.aspectRatio * 2.4,
mainAxisExtent: 0), mainAxisExtent: 0),
delegate: SliverChildBuilderDelegate( delegate: SliverChildBuilderDelegate(
childCount: childCount:
@@ -107,7 +107,7 @@ class _FavPageState extends State<FavPage> {
mainAxisSpacing: StyleString.cardSpace, mainAxisSpacing: StyleString.cardSpace,
crossAxisSpacing: StyleString.safeSpace, crossAxisSpacing: StyleString.safeSpace,
maxCrossAxisExtent: Grid.maxRowWidth * 2, maxCrossAxisExtent: Grid.maxRowWidth * 2,
childAspectRatio: StyleString.aspectRatio * 2.3, childAspectRatio: StyleString.aspectRatio * 2.4,
mainAxisExtent: 0), mainAxisExtent: 0),
delegate: SliverChildBuilderDelegate( delegate: SliverChildBuilderDelegate(
(BuildContext context, int index) { (BuildContext context, int index) {

View File

@@ -220,7 +220,7 @@ class _FavDetailPageState extends State<FavDetailPage> {
crossAxisSpacing: StyleString.safeSpace, crossAxisSpacing: StyleString.safeSpace,
maxCrossAxisExtent: Grid.maxRowWidth * 2, maxCrossAxisExtent: Grid.maxRowWidth * 2,
childAspectRatio: childAspectRatio:
StyleString.aspectRatio * 2.3, StyleString.aspectRatio * 2.4,
mainAxisExtent: 0), mainAxisExtent: 0),
delegate: delegate:
SliverChildBuilderDelegate((context, index) { SliverChildBuilderDelegate((context, index) {
@@ -246,7 +246,7 @@ class _FavDetailPageState extends State<FavDetailPage> {
mainAxisSpacing: StyleString.cardSpace, mainAxisSpacing: StyleString.cardSpace,
crossAxisSpacing: StyleString.safeSpace, crossAxisSpacing: StyleString.safeSpace,
maxCrossAxisExtent: Grid.maxRowWidth * 2, maxCrossAxisExtent: Grid.maxRowWidth * 2,
childAspectRatio: StyleString.aspectRatio * 2.3, childAspectRatio: StyleString.aspectRatio * 2.4,
mainAxisExtent: 0), mainAxisExtent: 0),
delegate: SliverChildBuilderDelegate((context, index) { delegate: SliverChildBuilderDelegate((context, index) {
return const VideoCardHSkeleton(); return const VideoCardHSkeleton();

View File

@@ -199,7 +199,7 @@ class _HistoryPageState extends State<HistoryPage> {
crossAxisSpacing: StyleString.safeSpace, crossAxisSpacing: StyleString.safeSpace,
maxCrossAxisExtent: Grid.maxRowWidth * 2, maxCrossAxisExtent: Grid.maxRowWidth * 2,
childAspectRatio: childAspectRatio:
StyleString.aspectRatio * 2.3, StyleString.aspectRatio * 2.4,
mainAxisExtent: 0), mainAxisExtent: 0),
delegate: SliverChildBuilderDelegate( delegate: SliverChildBuilderDelegate(
(context, index) { (context, index) {
@@ -233,7 +233,7 @@ class _HistoryPageState extends State<HistoryPage> {
mainAxisSpacing: StyleString.cardSpace, mainAxisSpacing: StyleString.cardSpace,
crossAxisSpacing: StyleString.safeSpace, crossAxisSpacing: StyleString.safeSpace,
maxCrossAxisExtent: Grid.maxRowWidth * 2, maxCrossAxisExtent: Grid.maxRowWidth * 2,
childAspectRatio: StyleString.aspectRatio * 2.3, childAspectRatio: StyleString.aspectRatio * 2.4,
mainAxisExtent: 0), mainAxisExtent: 0),
delegate: SliverChildBuilderDelegate((context, index) { delegate: SliverChildBuilderDelegate((context, index) {
return const VideoCardHSkeleton(); return const VideoCardHSkeleton();

View File

@@ -90,7 +90,7 @@ class _HistorySearchPageState extends State<HistorySearchPage> {
mainAxisSpacing: StyleString.cardSpace, mainAxisSpacing: StyleString.cardSpace,
crossAxisSpacing: StyleString.safeSpace, crossAxisSpacing: StyleString.safeSpace,
maxCrossAxisExtent: Grid.maxRowWidth * 2, maxCrossAxisExtent: Grid.maxRowWidth * 2,
childAspectRatio: StyleString.aspectRatio * 2.3, childAspectRatio: StyleString.aspectRatio * 2.4,
mainAxisExtent: 0), mainAxisExtent: 0),
delegate: SliverChildBuilderDelegate( delegate: SliverChildBuilderDelegate(
(context, index) { (context, index) {

View File

@@ -96,7 +96,7 @@ class _HotPageState extends State<HotPage> with AutomaticKeepAliveClientMixin {
mainAxisSpacing: StyleString.safeSpace, mainAxisSpacing: StyleString.safeSpace,
crossAxisSpacing: StyleString.safeSpace, crossAxisSpacing: StyleString.safeSpace,
maxCrossAxisExtent: Grid.maxRowWidth * 2, maxCrossAxisExtent: Grid.maxRowWidth * 2,
childAspectRatio: StyleString.aspectRatio * 2.3, childAspectRatio: StyleString.aspectRatio * 2.4,
mainAxisExtent: 0), mainAxisExtent: 0),
delegate: SliverChildBuilderDelegate((context, index) { delegate: SliverChildBuilderDelegate((context, index) {
return VideoCardH( return VideoCardH(
@@ -133,7 +133,7 @@ class _HotPageState extends State<HotPage> with AutomaticKeepAliveClientMixin {
mainAxisSpacing: StyleString.cardSpace, mainAxisSpacing: StyleString.cardSpace,
crossAxisSpacing: StyleString.cardSpace, crossAxisSpacing: StyleString.cardSpace,
maxCrossAxisExtent: Grid.maxRowWidth * 2, maxCrossAxisExtent: Grid.maxRowWidth * 2,
childAspectRatio: StyleString.aspectRatio * 2.3), childAspectRatio: StyleString.aspectRatio * 2.4),
delegate: SliverChildBuilderDelegate((context, index) { delegate: SliverChildBuilderDelegate((context, index) {
return const VideoCardHSkeleton(); return const VideoCardHSkeleton();
}, childCount: 10), }, childCount: 10),

View File

@@ -92,7 +92,7 @@ class _LaterPageState extends State<LaterPage> {
maxCrossAxisExtent: maxCrossAxisExtent:
Grid.maxRowWidth * 2, Grid.maxRowWidth * 2,
childAspectRatio: childAspectRatio:
StyleString.aspectRatio * 2.3, StyleString.aspectRatio * 2.4,
mainAxisExtent: 0), mainAxisExtent: 0),
delegate: SliverChildBuilderDelegate( delegate: SliverChildBuilderDelegate(
(context, index) { (context, index) {
@@ -130,7 +130,7 @@ class _LaterPageState extends State<LaterPage> {
mainAxisSpacing: StyleString.safeSpace, mainAxisSpacing: StyleString.safeSpace,
crossAxisSpacing: StyleString.safeSpace, crossAxisSpacing: StyleString.safeSpace,
maxCrossAxisExtent: Grid.maxRowWidth * 2, maxCrossAxisExtent: Grid.maxRowWidth * 2,
childAspectRatio: StyleString.aspectRatio * 2.3, childAspectRatio: StyleString.aspectRatio * 2.4,
mainAxisExtent: 0), mainAxisExtent: 0),
delegate: SliverChildBuilderDelegate((context, index) { delegate: SliverChildBuilderDelegate((context, index) {
return const VideoCardHSkeleton(); return const VideoCardHSkeleton();

View File

@@ -86,7 +86,7 @@ class _MemberArchivePageState extends State<MemberArchivePage> {
maxCrossAxisExtent: maxCrossAxisExtent:
Grid.maxRowWidth * 2, Grid.maxRowWidth * 2,
childAspectRatio: childAspectRatio:
StyleString.aspectRatio * 2.3, StyleString.aspectRatio * 2.4,
mainAxisExtent: 0), mainAxisExtent: 0),
delegate: SliverChildBuilderDelegate( delegate: SliverChildBuilderDelegate(
(BuildContext context, index) { (BuildContext context, index) {

View File

@@ -116,7 +116,7 @@ class _MemberSearchPageState extends State<MemberSearchPage>
maxCrossAxisExtent: Grid.maxRowWidth * maxCrossAxisExtent: Grid.maxRowWidth *
2, 2,
childAspectRatio: childAspectRatio:
StyleString.aspectRatio * 2.3, StyleString.aspectRatio * 2.4,
mainAxisExtent: 0), mainAxisExtent: 0),
delegate: SliverChildBuilderDelegate( delegate: SliverChildBuilderDelegate(
(context, index) { (context, index) {
@@ -164,7 +164,7 @@ class _MemberSearchPageState extends State<MemberSearchPage>
crossAxisSpacing: StyleString.safeSpace, crossAxisSpacing: StyleString.safeSpace,
maxCrossAxisExtent: Grid.maxRowWidth * 2, maxCrossAxisExtent: Grid.maxRowWidth * 2,
childAspectRatio: childAspectRatio:
StyleString.aspectRatio * 2.3, StyleString.aspectRatio * 2.4,
mainAxisExtent: 0), mainAxisExtent: 0),
delegate: delegate:
SliverChildBuilderDelegate((context, index) { SliverChildBuilderDelegate((context, index) {

View File

@@ -98,8 +98,8 @@ class _ZonePageState extends State<ZonePage>
mainAxisSpacing: StyleString.safeSpace, mainAxisSpacing: StyleString.safeSpace,
crossAxisSpacing: StyleString.safeSpace, crossAxisSpacing: StyleString.safeSpace,
maxCrossAxisExtent: Grid.maxRowWidth * 2, maxCrossAxisExtent: Grid.maxRowWidth * 2,
childAspectRatio: StyleString.aspectRatio * 2.3, childAspectRatio: StyleString.aspectRatio * 2.4,
mainAxisExtent: 0), mainAxisExtent: 13),
delegate: SliverChildBuilderDelegate((context, index) { delegate: SliverChildBuilderDelegate((context, index) {
return VideoCardH( return VideoCardH(
videoItem: _zoneController.videoList[index], videoItem: _zoneController.videoList[index],
@@ -135,7 +135,7 @@ class _ZonePageState extends State<ZonePage>
mainAxisSpacing: StyleString.safeSpace, mainAxisSpacing: StyleString.safeSpace,
crossAxisSpacing: StyleString.safeSpace, crossAxisSpacing: StyleString.safeSpace,
maxCrossAxisExtent: Grid.maxRowWidth * 2, maxCrossAxisExtent: Grid.maxRowWidth * 2,
childAspectRatio: StyleString.aspectRatio * 2.3, childAspectRatio: StyleString.aspectRatio * 2.4,
mainAxisExtent: 0), mainAxisExtent: 0),
delegate: SliverChildBuilderDelegate((context, index) { delegate: SliverChildBuilderDelegate((context, index) {
return const VideoCardHSkeleton(); return const VideoCardHSkeleton();

View File

@@ -142,7 +142,7 @@ class _SearchPanelState extends State<SearchPanel>
mainAxisSpacing: StyleString.safeSpace, mainAxisSpacing: StyleString.safeSpace,
crossAxisSpacing: StyleString.safeSpace, crossAxisSpacing: StyleString.safeSpace,
maxCrossAxisExtent: Grid.maxRowWidth * 2, maxCrossAxisExtent: Grid.maxRowWidth * 2,
childAspectRatio: StyleString.aspectRatio * 2.3, childAspectRatio: StyleString.aspectRatio * 2.4,
mainAxisExtent: 0), mainAxisExtent: 0),
delegate: SliverChildBuilderDelegate( delegate: SliverChildBuilderDelegate(
(context, index) { (context, index) {

View File

@@ -16,7 +16,7 @@ Widget searchArticlePanel(BuildContext context, ctr, list) {
mainAxisSpacing: StyleString.safeSpace, mainAxisSpacing: StyleString.safeSpace,
crossAxisSpacing: StyleString.safeSpace, crossAxisSpacing: StyleString.safeSpace,
maxCrossAxisExtent: Grid.maxRowWidth * 2, maxCrossAxisExtent: Grid.maxRowWidth * 2,
childAspectRatio: StyleString.aspectRatio * 2.3, childAspectRatio: StyleString.aspectRatio * 2.4,
mainAxisExtent: 0), mainAxisExtent: 0),
delegate: SliverChildBuilderDelegate( delegate: SliverChildBuilderDelegate(
(BuildContext context, int index) { (BuildContext context, int index) {

View File

@@ -92,7 +92,7 @@ class SearchVideoPanel extends StatelessWidget {
mainAxisSpacing: StyleString.safeSpace, mainAxisSpacing: StyleString.safeSpace,
crossAxisSpacing: StyleString.safeSpace, crossAxisSpacing: StyleString.safeSpace,
maxCrossAxisExtent: Grid.maxRowWidth * 2, maxCrossAxisExtent: Grid.maxRowWidth * 2,
childAspectRatio: StyleString.aspectRatio * 2.3, childAspectRatio: StyleString.aspectRatio * 2.4,
mainAxisExtent: 0), mainAxisExtent: 0),
delegate: SliverChildBuilderDelegate( delegate: SliverChildBuilderDelegate(
(BuildContext context, int index) { (BuildContext context, int index) {

View File

@@ -62,7 +62,7 @@ class _SubPageState extends State<SubPage> {
mainAxisSpacing: StyleString.cardSpace, mainAxisSpacing: StyleString.cardSpace,
crossAxisSpacing: StyleString.safeSpace, crossAxisSpacing: StyleString.safeSpace,
maxCrossAxisExtent: Grid.maxRowWidth * 2, maxCrossAxisExtent: Grid.maxRowWidth * 2,
childAspectRatio: StyleString.aspectRatio * 2.3, childAspectRatio: StyleString.aspectRatio * 2.4,
mainAxisExtent: 0), mainAxisExtent: 0),
delegate: SliverChildBuilderDelegate( delegate: SliverChildBuilderDelegate(
childCount: childCount:

View File

@@ -52,7 +52,7 @@ class _RelatedVideoPanelState extends State<RelatedVideoPanel>
mainAxisSpacing: StyleString.safeSpace, mainAxisSpacing: StyleString.safeSpace,
crossAxisSpacing: StyleString.safeSpace, crossAxisSpacing: StyleString.safeSpace,
maxCrossAxisExtent: Grid.maxRowWidth * 2, maxCrossAxisExtent: Grid.maxRowWidth * 2,
childAspectRatio: StyleString.aspectRatio * 2.3, childAspectRatio: StyleString.aspectRatio * 2.4,
mainAxisExtent: 0), mainAxisExtent: 0),
delegate: SliverChildBuilderDelegate((context, index) { delegate: SliverChildBuilderDelegate((context, index) {
if (index == relatedVideoList.length) { if (index == relatedVideoList.length) {
@@ -94,7 +94,7 @@ class _RelatedVideoPanelState extends State<RelatedVideoPanel>
mainAxisSpacing: StyleString.safeSpace, mainAxisSpacing: StyleString.safeSpace,
crossAxisSpacing: StyleString.safeSpace, crossAxisSpacing: StyleString.safeSpace,
maxCrossAxisExtent: Grid.maxRowWidth * 2, maxCrossAxisExtent: Grid.maxRowWidth * 2,
childAspectRatio: StyleString.aspectRatio * 2.3, childAspectRatio: StyleString.aspectRatio * 2.4,
mainAxisExtent: 0), mainAxisExtent: 0),
delegate: SliverChildBuilderDelegate((context, index) { delegate: SliverChildBuilderDelegate((context, index) {
return const VideoCardHSkeleton(); return const VideoCardHSkeleton();