【发布时间】:2016-10-18 12:51:47
【问题描述】:
在我的应用中,我希望所有按钮都具有相同的背景。
对于 API 21 和更新的?android:attr/selectableItemBackgroundBorderless
对于较旧的 API ?android:attr/selectableItemBackground
如何在 XML 中设置按钮的背景,使其引用基于 android 版本的正确可绘制对象?
【问题讨论】:
标签: android
在我的应用中,我希望所有按钮都具有相同的背景。
对于 API 21 和更新的?android:attr/selectableItemBackgroundBorderless
对于较旧的 API ?android:attr/selectableItemBackground
如何在 XML 中设置按钮的背景,使其引用基于 android 版本的正确可绘制对象?
【问题讨论】:
标签: android
在res/values 文件夹中的styles.xml 中为应用程序创建一个主题:
<style name="AppTheme" parent="AppTheme">
<item name="android:buttonStyle">?android:attr/selectableItemBackground</item>
</style>
在styles.xml 文件夹中的res/values-v21 中为应用程序创建一个主题:
<style name="AppTheme" parent="AppTheme">
<item name="android:buttonStyle">?android:attr/selectableItemBackgroundBorderless</item>
</style>
将主题应用到AndroidManifest.xml中的应用程序:
(...)
<application
android:theme="@style/AppTheme">
(...)
【讨论】:
res/drawable 和res/drawable-v21 中声明具有相同名称的drawable,并将Button 的android:background 指向该drawable?我不确定这是否是您的意思。
?android:attr/selectableItemBackground。我怎么做?我需要什么类型的drawable?有可能吗?
创建两种样式。参考:Creating styles-v21.xml
第一步之后:设置ButtonStyle 参考:https://stackoverflow.com/a/14033420/7001152
【讨论】: