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,
children: [
if (videoItem.title is String) ...[
Text(
videoItem.title as String,
textAlign: TextAlign.start,
style: TextStyle(
fontWeight: FontWeight.w500,
fontSize: Theme.of(context).textTheme.bodyMedium!.fontSize,
height: 1.4,
letterSpacing: 0.3,
Expanded(
child: Text(
videoItem.title as String,
textAlign: TextAlign.start,
style: TextStyle(
fontWeight: FontWeight.w500,
fontSize: Theme.of(context).textTheme.bodyMedium!.fontSize,
height: 1.36,
letterSpacing: 0.3,
),
maxLines: 3,
overflow: TextOverflow.ellipsis,
),
maxLines: 2,
overflow: TextOverflow.ellipsis,
),
] else ...[
RichText(
overflow: TextOverflow.ellipsis,
maxLines: 2,
text: TextSpan(
children: [
for (final i in videoItem.title) ...[
TextSpan(
text: i['text'] as String,
style: TextStyle(
fontWeight: FontWeight.w500,
fontSize:
Theme.of(context).textTheme.bodyMedium!.fontSize,
letterSpacing: 0.3,
color: i['type'] == 'em'
? Theme.of(context).colorScheme.primary
: Theme.of(context).colorScheme.onSurface,
Expanded(
child: RichText(
overflow: TextOverflow.ellipsis,
maxLines: 3,
text: TextSpan(
children: [
for (final i in videoItem.title) ...[
TextSpan(
text: i['text'] as String,
style: TextStyle(
fontWeight: FontWeight.w500,
fontSize: Theme.of(context)
.textTheme
.bodyMedium!
.fontSize,
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 &&
// videoItem.rcmdReason.content != '')
// Container(
@@ -239,14 +245,14 @@ class VideoContent extends StatelessWidget {
"${pubdate}${showOwner ? videoItem.owner.name : ''}",
maxLines: 1,
style: TextStyle(
fontSize: 11,
fontSize: Theme.of(context).textTheme.labelSmall!.fontSize,
height: 1,
color: Theme.of(context).colorScheme.outline,
overflow: TextOverflow.clip,
),
),
),
const SizedBox(height: 4),
const SizedBox(height: 3),
Row(
children: [
if (showView) ...[
@@ -265,7 +271,6 @@ class VideoContent extends StatelessWidget {
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,
crossAxisSpacing: StyleString.safeSpace,
maxCrossAxisExtent: Grid.maxRowWidth * 2,
childAspectRatio: StyleString.aspectRatio * 2.3,
childAspectRatio: StyleString.aspectRatio * 2.4,
mainAxisExtent: 0),
delegate: SliverChildBuilderDelegate(
childCount:
@@ -107,7 +107,7 @@ class _FavPageState extends State<FavPage> {
mainAxisSpacing: StyleString.cardSpace,
crossAxisSpacing: StyleString.safeSpace,
maxCrossAxisExtent: Grid.maxRowWidth * 2,
childAspectRatio: StyleString.aspectRatio * 2.3,
childAspectRatio: StyleString.aspectRatio * 2.4,
mainAxisExtent: 0),
delegate: SliverChildBuilderDelegate(
(BuildContext context, int index) {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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