获取Android系统配色(Android 10系统配色)

m.i*_*.r. 2 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>
Run Code Online (Sandbox Code Playgroud)

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

编辑:为了清楚起见,我正在尝试获取系统的重点颜色,即在设置,通知面板等中使用的系统范围的颜色。现在可以在Android 10中选择该颜色,之前可以在Oxygen OS之类的rom中进行选择。假设我在Android 10设备上的设置->自定义中选择红色重音。我想在我的应用中得到这个红色的口音

Gab*_*tti 5

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

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; 
Run Code Online (Sandbox Code Playgroud)

为了清楚起见,我指的是Android Q System颜色强调:

在此处输入图片说明 在此处输入图片说明