在黑暗模式下使用颤动切换图像

Switch images on dark mode with 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,
)