这个问题应该很简单,但我没有找到答案。我有一个带有可选口音的应用程序,我正在尝试添加一个选项来使用 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 系统颜色强调:
关于android - 获取Android系统强调色(Android 10 System color accent),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58352718/