有没有在Android模拟器中快速切换暗模式的方法?

问题描述 投票:0回答:3

我主要使用Android模拟器进行开发。有没有一种快速方法(最好是键盘快捷键)在深色模式和浅色模式之间切换以测试深色/浅色主题?

android android-emulator android-darkmode
3个回答
14
投票

如果您使用 MacOS,您可以使用快捷方式自动执行此操作:

  1. 打开快捷方式.app
  2. 查找操作“运行 shell 脚本”
  3. 插入此脚本:
alias adb="/Users/YOUR_USERNAME/Library/Android/sdk/platform-tools/adb"
if [[ $(adb shell "cmd uimode night") == "Night mode: yes" ]]; then
  adb shell "cmd uimode night no"
else
  adb shell "cmd uimode night yes"
fi

  1. 选择右上角的“快捷方式详细信息”选项卡(“i”图标),单击“添加键盘快捷键”并添加您的快捷方式。

这是一个例子:

shortcuts example

完美运行!

shortcut gif


9
投票

只是为了通过一个很好的解决方案让上面的评论有更多的可见性:

您应该能够在[向下滑动]通知栏添加深色模式图块,就像使用实际设备一样。

显然,它会根据您正在模拟的手机而略有变化,但这里有一个针对不习惯 Android 设备的人的演示

dark mode in notification shade demo


0
投票
如果您有多个设备正在运行,

pavelperc的答案不起作用。您可以调整脚本以切换所有正在运行的设备的暗模式,如下所示(基于此答案):

alias adb="/Users/YOUR_USERNAME/Library/Android/sdk/platform-tools/adb"

for device in `adb devices | awk '{print $1}'`; do
  if [ ! "$device" = "" ] && [ ! "$device" = "List" ]
  then
    adb -s $device $@
    if [[ $(adb -s $device shell "cmd uimode night") == "Night mode: yes" ]]; then
      adb -s $device shell "cmd uimode night no"
    else
      adb -s $device shell "cmd uimode night yes"
    fi
  fi
done
© www.soinside.com 2019 - 2024. All rights reserved.