mod: title fontSize

This commit is contained in:
guozhigq
2023-07-26 11:43:16 +08:00
parent 9e5b7a405f
commit 57833160f7
18 changed files with 147 additions and 150 deletions

View File

@ -20,8 +20,7 @@ class StatDanMu extends StatelessWidget {
return Row(
children: [
Icon(
// CupertinoIcons.ellipses_bubble,
Icons.subtitles_sharp,
Icons.subtitles_outlined,
size: 14,
color: color,
),

View File

@ -20,8 +20,7 @@ class StatView extends StatelessWidget {
return Row(
children: [
Icon(
// CupertinoIcons.play_rectangle,
Icons.play_circle_fill_outlined,
Icons.play_circle_outlined,
size: 13,
color: color,
),

View File

@ -122,7 +122,7 @@ class VideoContent extends StatelessWidget {
Widget build(BuildContext context) {
return Expanded(
child: Padding(
padding: const EdgeInsets.fromLTRB(10, 4, 6, 2),
padding: const EdgeInsets.fromLTRB(10, 2, 6, 0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
@ -130,8 +130,8 @@ class VideoContent extends StatelessWidget {
Text(
videoItem.title,
textAlign: TextAlign.start,
style: TextStyle(
fontSize: Theme.of(context).textTheme.labelMedium!.fontSize,
style: const TextStyle(
fontSize: 13,
fontWeight: FontWeight.w500,
letterSpacing: 0.3,
),
@ -149,6 +149,7 @@ class VideoContent extends StatelessWidget {
style: TextStyle(
fontSize: 13,
fontWeight: FontWeight.w500,
letterSpacing: 0.3,
color: i['type'] == 'em'
? Theme.of(context).colorScheme.primary
: Theme.of(context).colorScheme.onSurface,

View File

@ -52,15 +52,12 @@ class VideoCardV extends StatelessWidget {
},
child: Column(
children: [
Container(
clipBehavior: Clip.hardEdge,
decoration: const BoxDecoration(
borderRadius: BorderRadius.only(
topLeft: StyleString.imgRadius,
topRight: StyleString.imgRadius,
bottomLeft: StyleString.imgRadius,
bottomRight: StyleString.imgRadius,
),
ClipRRect(
borderRadius: const BorderRadius.only(
topLeft: StyleString.imgRadius,
topRight: StyleString.imgRadius,
bottomLeft: StyleString.imgRadius,
bottomRight: StyleString.imgRadius,
),
child: AspectRatio(
aspectRatio: StyleString.aspectRatio,
@ -116,7 +113,7 @@ class VideoContent extends StatelessWidget {
return Expanded(
child: Padding(
// 多列
padding: const EdgeInsets.fromLTRB(4, 5, 6, 10),
padding: const EdgeInsets.fromLTRB(4, 5, 6, 6),
// 单列
// padding: const EdgeInsets.fromLTRB(14, 10, 4, 8),
child: Column(
@ -126,79 +123,63 @@ class VideoContent extends StatelessWidget {
Text(
videoItem.title,
textAlign: TextAlign.start,
style: TextStyle(
fontSize: Theme.of(context).textTheme.labelMedium!.fontSize,
style: const TextStyle(
fontSize: 13,
fontWeight: FontWeight.w500,
letterSpacing: 0.3,
),
maxLines: Get.find<RcmdController>().crossAxisCount,
overflow: TextOverflow.ellipsis,
),
SizedBox(
height: 18,
child: Row(
children: [
if (videoItem.rcmdReason != null &&
videoItem.rcmdReason.content != '') ...[
Container(
padding: const EdgeInsets.fromLTRB(3, 1, 3, 1),
Row(
children: [
if (videoItem.rcmdReason != null &&
videoItem.rcmdReason.content != '' ||
videoItem.isFollowed == 1) ...[
Container(
padding: const EdgeInsets.fromLTRB(3, 0, 3, 0),
decoration: BoxDecoration(
color: Theme.of(context)
.colorScheme
.primaryContainer
.withOpacity(0.6),
borderRadius: BorderRadius.circular(3)),
child: Text(
videoItem.rcmdReason.content,
style: TextStyle(
fontSize:
Theme.of(context).textTheme.labelSmall!.fontSize,
color: Theme.of(context).colorScheme.primary,
),
),
),
const SizedBox(width: 4)
] else if (videoItem.isFollowed == 1) ...[
Container(
padding: const EdgeInsets.fromLTRB(3, 1, 3, 1),
decoration: BoxDecoration(
color: Theme.of(context)
.colorScheme
.primaryContainer
.withOpacity(0.6),
borderRadius: BorderRadius.circular(3)),
child: Text(
'已关注',
style: TextStyle(
fontSize:
Theme.of(context).textTheme.labelSmall!.fontSize,
color: Theme.of(context).colorScheme.primary,
),
),
),
const SizedBox(width: 4)
],
Expanded(
child: LayoutBuilder(builder:
(BuildContext context, BoxConstraints constraints) {
return SizedBox(
width: constraints.maxWidth,
child: Center(
child: Text(
videoItem.owner.name,
maxLines: 1,
videoItem.rcmdReason != null &&
videoItem.rcmdReason.content != ''
? videoItem.rcmdReason.content
: '已关注',
style: TextStyle(
fontSize: Theme.of(context)
.textTheme
.labelMedium!
.labelSmall!
.fontSize,
color: Theme.of(context).colorScheme.outline,
color: Theme.of(context).colorScheme.primary,
),
),
);
}),
),
)),
const SizedBox(width: 4)
],
),
Expanded(
child: LayoutBuilder(builder:
(BuildContext context, BoxConstraints constraints) {
return SizedBox(
width: constraints.maxWidth,
child: Text(
videoItem.owner.name,
maxLines: 1,
style: TextStyle(
fontSize:
Theme.of(context).textTheme.labelMedium!.fontSize,
color: Theme.of(context).colorScheme.outline,
),
),
);
}),
),
],
),
// Row(
// children: [

View File

@ -34,6 +34,7 @@ class MyApp extends StatelessWidget {
return GetMaterialApp(
title: 'PiLiPaLa',
theme: ThemeData(
fontFamily: 'HarmonyOS',
colorScheme: lightDynamic ??
ColorScheme.fromSeed(
seedColor: Colors.green,
@ -42,6 +43,7 @@ class MyApp extends StatelessWidget {
useMaterial3: true,
),
darkTheme: ThemeData(
fontFamily: 'HarmonyOS',
colorScheme: darkDynamic ??
ColorScheme.fromSeed(
seedColor: Colors.green,

View File

@ -76,9 +76,11 @@ class VideoContent extends StatelessWidget {
Text(
favFolderItem.title,
textAlign: TextAlign.start,
style: TextStyle(
fontSize: Theme.of(context).textTheme.titleSmall!.fontSize,
fontWeight: FontWeight.w500),
style: const TextStyle(
fontSize: 13,
fontWeight: FontWeight.w500,
letterSpacing: 0.3,
),
),
Text(
'${favFolderItem.mediaCount}个内容',

View File

@ -131,8 +131,8 @@ class VideoContent extends StatelessWidget {
Text(
videoItem.title,
textAlign: TextAlign.start,
style: TextStyle(
fontSize: Theme.of(context).textTheme.labelMedium!.fontSize,
style: const TextStyle(
fontSize: 13,
fontWeight: FontWeight.w500,
letterSpacing: 0.3,
),

View File

@ -11,13 +11,16 @@ Widget followItem({item}) {
leading: Hero(
tag: heroTag,
child: NetworkImgLayer(
width: 38,
height: 38,
width: 45,
height: 45,
type: 'avatar',
src: item.face,
),
),
title: Text(item.uname),
title: Text(
item.uname,
style: const TextStyle(fontSize: 14),
),
subtitle: Text(
item.sign,
maxLines: 1,

View File

@ -59,7 +59,7 @@ class HistoryItem extends StatelessWidget {
children: [
Padding(
padding: const EdgeInsets.fromLTRB(
StyleString.cardSpace, 7, StyleString.cardSpace, 7),
StyleString.cardSpace, 5, StyleString.cardSpace, 5),
child: LayoutBuilder(
builder: (context, boxConstraints) {
double width =
@ -121,12 +121,6 @@ class HistoryItem extends StatelessWidget {
},
),
),
Divider(
height: 1,
indent: 8,
endIndent: 12,
color: Theme.of(context).dividerColor.withOpacity(0.08),
)
],
),
);
@ -148,8 +142,8 @@ class VideoContent extends StatelessWidget {
Text(
videoItem.title,
textAlign: TextAlign.start,
style: TextStyle(
fontSize: Theme.of(context).textTheme.labelMedium!.fontSize,
style: const TextStyle(
fontSize: 13,
fontWeight: FontWeight.w500,
letterSpacing: 0.3,
),

View File

@ -104,7 +104,7 @@ class LiveContent extends StatelessWidget {
return Expanded(
child: Padding(
// 多列
padding: const EdgeInsets.fromLTRB(4, 5, 6, 8),
padding: const EdgeInsets.fromLTRB(4, 5, 6, 6),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
@ -112,15 +112,14 @@ class LiveContent extends StatelessWidget {
Text(
liveItem.title,
textAlign: TextAlign.start,
style: TextStyle(
fontSize: Theme.of(context).textTheme.labelMedium!.fontSize,
style: const TextStyle(
fontSize: 13,
fontWeight: FontWeight.w500,
letterSpacing: 0.3,
),
maxLines: 2,
overflow: TextOverflow.ellipsis,
),
const SizedBox(height: 4),
Row(
children: [
const UpTag(),

View File

@ -12,8 +12,8 @@ Widget searchLivePanel(BuildContext context, ctr, list) {
controller: ctr!.scrollController,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2,
crossAxisSpacing: StyleString.cardSpace,
mainAxisSpacing: StyleString.cardSpace,
crossAxisSpacing: StyleString.cardSpace + 2,
mainAxisSpacing: StyleString.cardSpace + 3,
mainAxisExtent:
MediaQuery.of(context).size.width / 2 / StyleString.aspectRatio +
65,
@ -22,7 +22,7 @@ Widget searchLivePanel(BuildContext context, ctr, list) {
itemBuilder: (context, index) {
var i = list![index];
return Card(
elevation: 0.8,
elevation: 0,
clipBehavior: Clip.hardEdge,
shape: RoundedRectangleBorder(
borderRadius: StyleString.mdRadius,
@ -32,40 +32,46 @@ Widget searchLivePanel(BuildContext context, ctr, list) {
onTap: () {},
child: Column(
children: [
AspectRatio(
aspectRatio: StyleString.aspectRatio,
child: LayoutBuilder(builder: (context, boxConstraints) {
double maxWidth = boxConstraints.maxWidth;
double maxHeight = boxConstraints.maxHeight;
return Stack(
children: [
Hero(
tag: Utils.makeHeroTag(i.roomid),
child: NetworkImgLayer(
// 指定图片尺寸
// src: videoItem.pic + '@${(maxWidth * 2).toInt()}w',
src: i.cover + '@.webp',
type: 'emote',
width: maxWidth,
height: maxHeight,
),
),
Positioned(
left: 0,
right: 0,
bottom: 0,
child: AnimatedOpacity(
opacity: 1,
duration: const Duration(milliseconds: 200),
child: LiveStat(
online: i.online,
cateName: i.cateName,
ClipRRect(
borderRadius: const BorderRadius.only(
topLeft: StyleString.imgRadius,
topRight: StyleString.imgRadius,
bottomLeft: StyleString.imgRadius,
bottomRight: StyleString.imgRadius,
),
child: AspectRatio(
aspectRatio: StyleString.aspectRatio,
child: LayoutBuilder(builder: (context, boxConstraints) {
double maxWidth = boxConstraints.maxWidth;
double maxHeight = boxConstraints.maxHeight;
return Stack(
children: [
Hero(
tag: Utils.makeHeroTag(i.roomid),
child: NetworkImgLayer(
src: i.cover + '@.webp',
type: 'emote',
width: maxWidth,
height: maxHeight,
),
),
),
],
);
}),
Positioned(
left: 0,
right: 0,
bottom: 0,
child: AnimatedOpacity(
opacity: 1,
duration: const Duration(milliseconds: 200),
child: LiveStat(
online: i.online,
cateName: i.cateName,
),
),
),
],
);
}),
),
),
LiveContent(liveItem: i)
],
@ -84,7 +90,7 @@ class LiveContent extends StatelessWidget {
Widget build(BuildContext context) {
return Expanded(
child: Padding(
padding: const EdgeInsets.fromLTRB(8, 8, 6, 7),
padding: const EdgeInsets.fromLTRB(4, 5, 6, 6),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
@ -98,6 +104,7 @@ class LiveContent extends StatelessWidget {
style: TextStyle(
fontSize: 13,
fontWeight: FontWeight.w500,
letterSpacing: 0.3,
color: i['type'] == 'em'
? Theme.of(context).colorScheme.primary
: Theme.of(context).colorScheme.onSurface,

View File

@ -42,9 +42,8 @@ Widget searchUserPanel(BuildContext context, ctr, list) {
children: [
Text(
i!.uname,
style: TextStyle(
fontSize:
Theme.of(context).textTheme.titleMedium!.fontSize,
style: const TextStyle(
fontSize: 14,
),
),
const SizedBox(width: 6),

View File

@ -126,7 +126,7 @@ class _VideoInfoState extends State<VideoInfo> with TickerProviderStateMixin {
Widget build(BuildContext context) {
return SliverPadding(
padding: const EdgeInsets.only(
left: StyleString.safeSpace, right: StyleString.safeSpace, top: 15),
left: StyleString.safeSpace, right: StyleString.safeSpace, top: 13),
sliver: SliverToBoxAdapter(
child: !widget.loadingStatus || videoItem.isNotEmpty
? Column(
@ -149,12 +149,11 @@ class _VideoInfoState extends State<VideoInfo> with TickerProviderStateMixin {
!widget.loadingStatus
? widget.videoDetail!.title
: videoItem['title'],
style: Theme.of(context)
.textTheme
.titleMedium!
.copyWith(
letterSpacing: 0.5,
fontWeight: FontWeight.w500),
style: const TextStyle(
fontSize: 18,
letterSpacing: 0.3,
fontWeight: FontWeight.w500,
),
maxLines: 2,
overflow: TextOverflow.ellipsis,
),
@ -274,7 +273,7 @@ class _VideoInfoState extends State<VideoInfo> with TickerProviderStateMixin {
!widget.loadingStatus
? widget.videoDetail!.owner!.name
: videoItem['owner'].name,
style: const TextStyle(fontSize: 12.5),
style: const TextStyle(fontSize: 13),
),
const SizedBox(width: 10),
Text(

View File

@ -50,8 +50,11 @@ class IntroDetail extends StatelessWidget {
children: [
Text(
videoDetail!.title,
style: Theme.of(context).textTheme.titleMedium!.copyWith(
letterSpacing: 0.5, fontWeight: FontWeight.w500),
style: const TextStyle(
fontSize: 18,
letterSpacing: 0.5,
fontWeight: FontWeight.w500,
),
),
const SizedBox(height: 10),
Row(

View File

@ -81,9 +81,7 @@ class MenuRow extends StatelessWidget {
duration: const Duration(milliseconds: 200),
child: Text(
text!,
style: TextStyle(
fontSize:
Theme.of(context).textTheme.labelMedium?.fontSize),
style: const TextStyle(fontSize: 13),
),
),
],

View File

@ -131,8 +131,18 @@ class _VideoReplyPanelState extends State<VideoReplyPanel>
floating: true,
delegate: _MySliverPersistentHeaderDelegate(
child: Container(
color: Theme.of(context).colorScheme.background,
padding: const EdgeInsets.fromLTRB(12, 6, 10, 6),
height: 45,
padding: const EdgeInsets.fromLTRB(12, 0, 6, 0),
decoration: BoxDecoration(
color: Theme.of(context).colorScheme.background,
border: Border(
bottom: BorderSide(
color: Theme.of(context)
.colorScheme
.outline
.withOpacity(0.1)),
),
),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
@ -156,9 +166,11 @@ class _VideoReplyPanelState extends State<VideoReplyPanel>
child: TextButton.icon(
onPressed: () =>
_videoReplyController.queryBySort(),
icon: const Icon(Icons.sort, size: 17),
icon: const Icon(Icons.sort, size: 15),
label: Obx(() => Text(
_videoReplyController.sortTypeLabel.value)),
_videoReplyController.sortTypeLabel.value,
style: const TextStyle(fontSize: 12),
)),
),
)
],

View File

@ -108,8 +108,7 @@ class ReplyItem extends StatelessWidget {
replyItem!.member!.vip!['vipStatus'] > 0
? Theme.of(context).colorScheme.primary
: Theme.of(context).colorScheme.outline,
fontSize:
Theme.of(context).textTheme.titleSmall!.fontSize,
fontSize: 13,
),
),
const SizedBox(width: 6),

View File

@ -81,7 +81,7 @@ class _VideoReplyReplyPanelState extends State<VideoReplyReplyPanel> {
if (widget.source == 'videoDetail')
Container(
height: 45,
padding: const EdgeInsets.only(left: 14, right: 14),
padding: const EdgeInsets.only(left: 12, right: 2),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [