flutter - 使用颤动在暗模式下切换图像
问题描述
我想知道如何在暗模式和亮模式下实现切换图像。我不打算在应用程序上进行切换。只需在 iOS 或 Android 中设置暗模式即可。
这是光照模式的示例代码。我想知道如何更改或添加代码以将 logo.png 切换为 darkmode_logo.png。
*darkmode_logo.png 用于深色模式的徽标。
V/r,
import 'package:flutter/material.dart';
class TopPage extends StatefulWidget {
const TopPage({Key key}) : super(key: key);
@override
_TopPageState createState() => _TopPageState();
}
class _TopPageState extends State<TopPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Theme.of(context).backgroundColor,
drawer: SlideMenu(),
appBar: AppBar(
centerTitle: true,
title: Image.asset(
'assets/images/header_icn/logo.png',
fit: BoxFit.cover,
),
),
body: Container(),
);
}
}
解决方案
Brightness
使用主题的属性检查主题模式。
final isDarkMode = Theme.of(context).brightness == Brightness.dark;
然后使用isDarkMode
.
Image.asset(
isDarkMode
? 'assets/images/header_icn/darkmode_logo.png'
: 'assets/images/header_icn/logo.png',
fit: BoxFit.cover,
)