我有问题而且我经常搜索并浪费大量时间,
我的问题是我有2种风格,每种活动都有一种风格,它的孩子当然不同(colorPrimary和colorPrimaryDark),这是2种风格:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="adapter_button_color">@color/secondary_orange</item>
</style>
<style name="AppTheme.SurveyStyle" parent="AppTheme">
<item name="colorPrimary">@color/colorPrimary2</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark2</item>
<item name="colorAccent">@color/colorAccent2</item>
<item name="adapter_button_color">@color/button_click</item>
</style>
,我有使用抽象名称raise_selector作为按钮的背景
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/raised_pressed"/><!-- pressed -->
<item android:drawable="@drawable/raised_normal" /> <!-- default -->
和raise_normal的代码例如:
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/colorPrimary" />
<stroke
android:width="3dp"
android:color="@color/colorPrimary" />
<padding
android:bottom="1dp"
android:left="1dp"
android:right="1dp"
android:top="1dp" />
<corners
android:bottomLeftRadius="3dp"
android:bottomRightRadius="3dp"
android:topLeftRadius="3dp"
android:topRightRadius="3dp" />
当我设置<solid android:color="@color/colorPrimary" />
时,不同风格的按钮颜色会相同,所以我搜索并查找是否写入
而<solid android:color="?attr/colorPrimary" />
将获得该风格的主色。
现在好了!!所以使用(?attr / colorPrimary)的每个思考工作都可以正常工作但是这在v-21及以上版本和最小sdks如果我设置(?attr / colorPrimary)而不是&#34; @ color / colorPrimary&#34;应用程序将崩溃。
那么我能以这种方式做什么并设置颜色取决于风格? 感谢您的时间和感谢您的阅读
答案 0 :(得分:0)
这意味着旧款手机无法解决此问题:(