android - 获取Android系统强调色(Android 10 System color accent)

标签 android android-theme android-styles android-10.0

这个问题应该很简单,但我没有找到答案。我有一个带有可选口音的应用程序,我正在尝试添加一个选项来使用 android 系统口音(像 Lawnchair 这样的应用程序有这样一个选项)。在系统重音的样式中,我尝试以各种可能的方式获得此重音:

?android:colorAccent

?android:attr/colorAccent

?attr/colorAccent

这是风格:

<style name="AppTheme.systemAccent" parent="AppTheme">
    <item name="colorAccent">???</item>
</style>

似乎没有任何效果,应用程序崩溃了,但我确信这是可能的。当我使用普通颜色时,重音选择效果很好。我哪里错了?

编辑:为了清楚起见,我正在尝试获取系统强调色,即在设置、通知面板等中使用的系统范围颜色。这种颜色现在可以在 Android 10 中选择,并且之前可以在像 Oxygen OS 这样的 rom 中选择。假设我在 Android 10 设备 的设置-> 自定义中选择了红色调。我想在我的应用程序中加入这种红色调

最佳答案

您可以通过编程方式获取它:

TypedValue typedValue = new TypedValue();
ContextThemeWrapper contextThemeWrapper = new ContextThemeWrapper(this,
     android.R.style.Theme_DeviceDefault);
contextThemeWrapper.getTheme().resolveAttribute(android.R.attr.colorAccent,
     typedValue, true);
int color = typedValue.data; 

需要说明的是,我指的是 Android Q 系统颜色强调:

enter image description here enter image description here

关于android - 获取Android系统强调色(Android 10 System color accent),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58352718/

相关文章:

android - 问题添加 Android 对话框

android - 如何在 android 的 onCreate() 中启动动画?

android - Android 中的右可绘制对象。不工作

android - 根据带有兼容库的状态更改 FAB 的图标颜色

android - 单击时更改 TextView 的背景颜色

Facebook - android 应用程序没有互联网通知 ui 元素

android - Firebase Analytics 事件属性未显示,但确实出现在 DebugView 中

android - 当样式同时具有父属性和带点的名称时,继承行为如何?

java - 自定义主题 android 崩溃由 : java. lang.IllegalStateException : You need to use a Theme. AppCompat 主题(或后代)与此 Activity 引起

android - 什么属性控制 Spinner 下拉菜单背景?