- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想在我的APP中实现夜间模式(手动切换白天和夜间模式),我了解到我可以使用UiModeManager.setNightMode()
并添加一些资源如values- night
和 drawable-night
来归档它。
在文档中,在setNightMode()
之前,我们需要enableCarMode()
。
使用下面的代码可以工作,但问题出现了。
UiModeManager uiManager = (UiModeManager) getSystemService(Context.UI_MODE_SERVICE);
if (isNightMode) {
uiManager.enableCarMode(0);
uiManager.setNightMode(UiModeManager.MODE_NIGHT_YES);
} else {
uiManager.disableCarMode(0);
uiManager.setNightMode(UiModeManager.MODE_NIGHT_NO);
}
它显示允许用户退出汽车模式的通知。
您有什么想法可以禁用此通知吗?
或者这些只是意味着它不是实现 android 夜间模式的最佳方式。启用汽车模式会对我的应用程序或手机产生任何奇怪的影响吗?
PS:我想知道为什么我们需要在设置夜间模式之前启用汽车模式。有没有深思熟虑?
PPS:我已经知道我可以改变主题来切换日夜模式。它需要调用 this.recreate()
并导致屏幕闪烁一秒钟。
PPPS:如果 UiModeManager.setNightMode
和 change theme
都不是实现夜间模式的最佳方式,我还有什么选择?
编辑:
方法一:UiModeManager.setNightMode
方法二:改变主题
再次编辑:
我觉得我的想法是错误的。禁用通知没有意义,但允许汽车模式。
我想要的只是像方法 1 一样实现夜间模式,而不设置桌面或汽车模式之类的东西,不显示闪烁。
最后
使用 UiModeManager.setNightMode
并启用汽车模式并不是实现夜间模式的好方法。因为它在Android 5.0及以上版本有一定效果。
当启用汽车模式且应用程序正在运行时,我按下主页按钮,发生了一些奇怪的事情(在 nexus 7 Android 5.1.1 中测试)。如下图所示:
Launch Android Auto
Look for the Android Auto button on your car's display to start
不幸的是,除非需要汽车模式,否则无法使用 UiModeManager.setNightMode
。
除了启用汽车模式外,结果是完美的,对于开发人员来说,它可以在不更改太多代码的情况下制作一些文件夹,如 drawable-night
和 values-night
。当模式改变时,它发送广播并将系统配置切换到适当的 UI 模式。
虽然好处多多,但是夜间模式的错误做法
我还是想知道为什么车载模式和夜间模式结合得如此紧密。
最佳答案
感谢NightModeHelper ,我完成了这个功能。
在 MainActivity.onCreate()
中,初始化 NightModeHelper。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mNightModeHelper = new NightModeHelper(this, R.style.Theme_Idxyer_NoActionBar);
}
在你需要切换模式的地方,添加下面一行。
mNightModeHelper.toggle();
此外,values-night
还需要有 color.xml
。
这一切都可以像改变主题的方法一样工作,显示闪烁。
如果您不喜欢闪烁,可以尝试setContentView(R.layout.main)
并再次初始化 View 。不要忘记删除 NightModeHelper 类中的 activity.recreate()
。
但是如果MainActivity
包含fragment,则需要重新添加fragment,fragment会闪烁。
可以查看demo in Github获取源代码。
----编辑------
在 Android 支持库 23.2 及更高版本中,官方支持夜间模式。
关于android - 要实现 Android 夜间模式,使用 UiModeManager 并启用汽车模式,但显示通知,这可能不是好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31934503/
我目前正在研究车辆编队,为此我需要在 python opencv 中设计一个代码,用于根据分类计算车辆数量。输入是实时交通视频。目的是为边界框找到一个平均大小“x”,并说对于汽车它是“x”,对于公共(
LISP 又一次难住了我……为什么我不能得到列表中最后一个元素的值?我有一个类似于此的列表设置: (setq bar '(((1 2) 3 4 5)((6 7) 8 9 10))) 现在我得到 4 的
我正在尝试将 android.car API 添加到 Android Studio 项目。由于 sdk 默认情况下汽车类不可用,我在 .../car-lib 中完成了 mm 并将生成的 android
我想让我的网站内容居中,但仅限于网页的特定宽度。所以当它超过 500px 时,我希望内容被修复,无法进一步拉伸(stretch)。无论如何都要这样做,还是我最好把所有东西都修好?希望有意义的是添加一些
这是绘制汽车零件的绘图函数,在这个函数中检查汽车轮辋并检查标志,我需要在移动汽车时旋转轮胎轮辋。由于轮辋已旋转但从汽车模型中取出,因此无法正常工作,当我按下向上箭头键时,但汽车确实在移动。 我还在初始
我正在尝试从仅包含一辆车和简单背景的图像中分割汽车,如 但是我从我的实现中得到的是这个 和 分别 但它非常容易处理几乎已经分割的图像,例如。 给出类似 的结果 我使用的代码是 import cv2 i
我正在研究我的大学项目之一,即opencv python中的object(car)检测,我正在使用opencv 3和python 3.4。我有一个代码,但是当我运行代码时,不会显示输出。它表明该代码没
在 C++ primer 5 中我看到了代码: const int a = 40; auto &b = a; 编译器可以推导出 b 类型:const int &。 我认为这是合理的,因为 a 是 co
这个问题更多的是关于在正确的方向上找到一个点。我继承并开发了一个项目来创建汽车选择数据库(匹配用户偏好)。它已经运行得比较好,但可能会更好(存在一些问题),所以我想研究其他人使用的其他一些算法。我正在
我目前正在搜索 WLAN 协议(protocol)的规范以获取 OBDII 数据。市场上有一些类似 ELM327 的适配器,可以让 iPhone 通过 WLAN 连接到 OBDII 接口(interf
我希望在谷歌地图标记周围制作进度条,如下图所示,或者如何在 map 上的特定位置显示进度条,就像我告诉纬度和经度并显示该位置 最佳答案 在这个短片中,进度标记(标记周围有一系列 8 个圆圈)前进一个表
有谁知道汽车、导航或移动设备对基于触摸屏的无键盘 UI 的需求是否很大? 我知道 Android 是一个非常大、非常流行的平台。 Cocoa Touch 也是如此。 我想要设想的是使用 Java UI
我正在尝试编写一个采用多项式并对其进行化简的程序。每次我运行该程序时,通过调用“(evalexp '( (x 2) (z 8) ) p1)”我都会收到错误消息“Car: + is not a list
使用 jhipster 我创建了运行良好的应用程序,然后我创建了“双向一对多关系”,所有者到汽车。这也工作正常,但我无法弄清楚如何从生成的实体的所有者屏幕中显示所有汽车。如果我选择“车主”,则会从汽车
我一直在使用 Rx 在单个应用程序中创建事件总线(想想 CQRS/ES),它似乎工作得很好。然而,在调查了一堆不同的事件溯源框架之后,我还没有看到使用过一次 Rx。与基于反射/容器的调度程序相比,它似
Android Automotive 中是否存在一种从 OBD2 或 SRS 读取传感器的方法。或者在任何其他汽车 Android 操作系统中。我在 CarSensorManager 中进行了搜索,但
我想知道是否有可能以某种方式确定路由器是否正在改变其位置。我需要知道这一点,因为我正在编写一个将在 WiFi 网络上工作的移动应用程序(连接同一网络上的人/连接到同一路由器)。我知道移动设备可以探索网
我知道这是一个非常开放的问题,但有谁知道我如何确定用户是否乘坐公共(public)交通工具?理想情况下,我会运行一个后台服务,这样只有乘坐公共(public)交通工具的订阅者才能收到我的提醒。 最佳答
我最近开始学习 OOP,这让我很困惑。我想制作 super 汽车和电动或化石汽车作为其子类。 `abstract class Electric extends Car`. 问题是我只想创建 Priva
我做了一个演示项目(来自 github 上的 Moving-MKAnnotationView 演示),用于在 map 上移动汽车,下面是它的链接 https://github.com/pratikbh
我是一名优秀的程序员,十分优秀!