feat(flutter): 应用浅色暖橙视觉主题

This commit is contained in:
Zhou Weidong committed 2026-10-20 10:15:03 +08:00
1 parent 0d2367431d
commit 634b63e16c
56 files changed
+941 -409

No files matched your search

+1 -1
View File
@@ -669,7 +669,7 @@ class PlayerLogic extends ChangeNotifier {
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: const TextStyle(
color: Color(0xFFB7B3B8),
color: AppColors.muted,
fontSize: 14,
fontWeight: FontWeight.w400,
),
+4 -4
View File
@@ -146,9 +146,9 @@ class _PlayerPageState extends State<PlayerPage> with WidgetsBindingObserver {
),
);
return AnnotatedRegion<SystemUiOverlayStyle>(
value: SystemUiOverlayStyle.light,
value: SystemUiOverlayStyle.dark,
child: Theme(
data: AppTheme.dark(),
data: AppTheme.light(),
child: widget.embedded
? content
: Scaffold(backgroundColor: AppColors.ink, body: content),
@@ -1155,7 +1155,7 @@ class _TopAction extends StatelessWidget {
onPressed: onPressed,
padding: EdgeInsets.zero,
style: IconButton.styleFrom(
backgroundColor: const Color(0xFF2C2D33),
backgroundColor: AppColors.card.withValues(alpha: 0.94),
foregroundColor: AppColors.onSurface,
),
icon: Icon(icon, size: 18),
@@ -1179,7 +1179,7 @@ class _PlayerAction extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Material(
color: const Color(0xFF2A2A30),
color: AppColors.card.withValues(alpha: 0.94),
borderRadius: BorderRadius.circular(9),
clipBehavior: Clip.antiAlias,
child: InkWell(
@@ -160,12 +160,7 @@ class HomeFeedOverlay extends StatelessWidget {
radius: 14,
blur: 6,
padding: const EdgeInsets.all(12),
gradient: const LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [Color(0xBF0F0F14), Color(0xA60F0F14)],
),
borderColor: Colors.white.withValues(alpha: 0.06),
borderColor: AppColors.border,
child: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
@@ -184,13 +179,13 @@ class HomeFeedOverlay extends StatelessWidget {
if (drama.category.isNotEmpty && drama.category != genre)
_tag(
drama.category,
background: const Color(0xFF333333),
foreground: const Color(0xFFDDDDDD),
background: AppColors.raised,
foreground: AppColors.onSurface,
),
Text(
l10n.episodeOfTotal(episode.number, drama.episodeCount),
key: const Key('home-feed-episode'),
style: const TextStyle(color: Color(0xFFBBBBBB), fontSize: 9),
style: const TextStyle(color: AppColors.muted, fontSize: 9),
),
],
),
@@ -248,7 +243,7 @@ class HomeFeedOverlay extends StatelessWidget {
key: const Key('home-feed-episodes'),
onPressed: onEpisodes,
style: FilledButton.styleFrom(
backgroundColor: const Color(0xFF2A2A30),
backgroundColor: AppColors.raised,
foregroundColor: AppColors.onSurface,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(
@@ -362,7 +357,7 @@ class _RoundIcon extends StatelessWidget {
onPressed: onPressed,
padding: EdgeInsets.zero,
style: IconButton.styleFrom(
backgroundColor: const Color(0xCC2C2D33),
backgroundColor: AppColors.card.withValues(alpha: 0.94),
foregroundColor: AppColors.onSurface,
),
icon: Icon(icon, size: 18),
@@ -4,7 +4,7 @@ import 'package:flutter/material.dart';
import '../../../core/theme/app_colors.dart';
/// Shared play/pause control used by the home feed and full-screen player.
/// 首页沉浸流与全屏播放器共用的播放/暂停按钮。
class PlayerCenterToggle extends StatelessWidget {
const PlayerCenterToggle({
super.key,
@@ -26,7 +26,7 @@ class PlayerCenterToggle extends StatelessWidget {
width: 52,
height: 52,
decoration: const BoxDecoration(
color: Color(0x80000000),
color: AppColors.blue,
shape: BoxShape.circle,
),
child: Icon(
@@ -117,7 +117,7 @@ class _PlayerFeaturedCommentState extends State<PlayerFeaturedComment> {
Text(
'· $time',
style: const TextStyle(
color: Color(0xFF777777),
color: AppColors.muted,
fontSize: 9,
),
),
@@ -133,7 +133,7 @@ class _PlayerFeaturedCommentState extends State<PlayerFeaturedComment> {
maxLines: 2,
overflow: TextOverflow.ellipsis,
style: const TextStyle(
color: Color(0xFFDDDDDD),
color: AppColors.onSurface,
fontSize: 10,
height: 1.5,
),
@@ -127,10 +127,8 @@ class _SeekProgressBarState extends State<SeekProgressBar> {
? (scrubbing ? 3 : 1.5)
: (scrubbing ? 4 : 3),
activeTrackColor: AppColors.blue,
inactiveTrackColor: widget.compact
? Colors.white.withValues(alpha: 0.18)
: const Color(0xFF474248),
thumbColor: widget.compact ? AppColors.blue : Colors.white,
inactiveTrackColor: AppColors.border,
thumbColor: AppColors.onPrimary,
thumbShape: RoundSliderThumbShape(
enabledThumbRadius: widget.compact
? (scrubbing ? 6 : 4)