API 21+:
android:background="?android:attr/selectableItemBackgroundBorderless"
API <21:
android:background="?android:attr/selectableItemBackground"
怎么可能?
我知道使用这样"?attr/API_dependent_theme_reference"
的解决方案。不幸的是,这不适用于应用程序小部件布局。
另外,我知道该解决方案将style="..."
用于values
和values-v21
文件夹中的view
和多个样式定义。但是寻找一种直接分配background
属性的方法(特别是作为Android,不幸的是,不支持分配多种样式,如CSS:class="style1 style2 etc"
!
您可以有两个自定义可绘制对象
可绘制/backround_name.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="?android:attr/selectableItemBackground"
</layer-list>
和
可绘制-v21/backround_name.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="?android:attr/selectableItemBackgroundBorderless"
</layer-list>