如何使android:background =“?android:attr / selectableItemBackground在API级别8中工作

时间:2012-07-08 04:44:29

标签: android

我有一个按钮代码,其中我不想要这个按钮的边框,所以为此我设置了属性"android:background="?android:attr/selectableItemBackground",但它不能在API版本8中工作,即在Froyo模拟器中。请提供替代方案。

<Button
    android:id="@+id/serviceContactNumber"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/icon"
    android:layout_alignLeft="@+id/serviceName"
    android:gravity="center_vertical"
    android:singleLine="true"
    android:ellipsize="marquee" 
    android:marqueeRepeatLimit="marquee_forever"
    android:scrollHorizontally="true" 
    android:freezesText="true"
    android:textSize="30dip" 
    android:background="?android:attr/selectableItemBackground"/>

提前致谢。

2 个答案:

答案 0 :(得分:6)

无边框按钮是Holo主题的一部分,默认情况下,早期的API版本无法使用它。但是,您可以使用HoloEverywhere来使主题可用。此时它实际上并不支持无边框按钮,但您可以通过将按钮背景设置为android:background="@drawable/list_selector_holo_light"来获得相同的效果

如果那个太重量级的解决方案要么从holoeverywhere中提取适当的资产,要么从\ android-sdk \ platforms \ android-16 \ data \ res \ drawable中提取并将它们放入你自己的项目中

答案 1 :(得分:0)

检查我在此问题中找到的答案是否适合您:My app force closes on setcontentview when using the holoeverywhere library

style="?borderlessButtonStyle"