即使我的应用程序中包含了对安卓系统的支持v7
添加android:background="?android:attr/selectableItemBackground"
使我的集成开发环境Eclipse抛出一个错误(阻止我编译),通知我selectableItemBackground只适用于min Api 11和更高版本。
如何在XML中将此属性添加到背景?
假设从更高的库中复制和粘贴不是一个解决方案
发布于 2013-11-05 10:03:13
由于该属性是在库中定义的(支持v7),因此您可以将其用作用户定义的属性:即,不带android:
前缀:
android:background="?attr/selectableItemBackground"
您看到的错误是指出?android:attr/selectableItemBackground
可用于>=版本的API 11。
发布于 2013-11-01 03:22:01
这是selectedItemBackground。您可以在/platform/android-14/data/res/hemes.xml中找到它
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:exitFadeDuration="@android:integer/config_mediumAnimTime">
<item android:state_window_focused="false" android:drawable="@color/transparent" />
<!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of pressed state. -->
<item android:state_focused="true" android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/list_selector_background_disabled" />
<item android:state_focused="true" android:state_enabled="false" android:drawable="@drawable/list_selector_background_disabled" />
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/list_selector_background_transition" />
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/list_selector_background_transition" />
<item android:state_focused="true" android:drawable="@drawable/list_selector_background_focused" />
<item android:drawable="@color/transparent" />
</selector>
你可以在你的Android SDK目录中找到可绘制的
../platforms/android-14/data
发布于 2013-11-01 03:37:52
不是这方面的专家,但似乎你需要基于平台版本的主题。我认为official guide很好地解释了这个过程。
您必须为每个版本创建不同的XML文件,并将它们保存在res/values-v7
、res/values-v11
等格式中,然后将这些样式用于您的视图。如下所示:
在res/values-v7
中
<style name="LightThemeSelector" parent="android:Theme.Light">
...
</style>
在res/values-v11
中
<style name="LightThemeSelector" parent="android:Theme.Holo.Light">
<item name="selectableItemBackground">?android:attr/selectableItemBackground</item>
...
</style>
然后使用视图的样式:
<TextView
style="@style/LightThemeSelector"
android:text="@string/hello" />
希望这能有所帮助。干杯。
https://stackoverflow.com/questions/19714682
复制相似问题