这个问题应该很简单,但是我没有找到答案。我有一个带有可选重音的应用程序,并且我试图添加一个使用android系统重音的选项(像Lawnchair之类的应用程序有这样的选项)。在系统重音的样式中,我尝试以各种可能的方式来获取此重音:
?android:colorAccent
?android:attr/colorAccent
?attr/colorAccent
这是样式:
似乎没有任何效果,应用程序崩溃,但是我确定这是可能的。当我使用普通颜色时,重音选择效果很好。我哪里错了?
编辑:为了清楚起见,我正在尝试获取系统的重点颜色,即在设置,通知面板等中使用的系统范围的颜色。现在可以在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 System颜色强调: