Как сделать андроид: background = "? Android: attr/selectableItemBackground работает на уровне API 8
У меня есть код кнопки, в котором я не хочу границы для этой кнопки, поэтому для этого я устанавливаю свойство "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"/>
Спасибо заранее.
Ответы
Ответ 1
Кнопки без полей являются частью темы Holo, которая по умолчанию недоступна предыдущим версиям API. Однако вы можете использовать HoloEverywhere, чтобы сделать эту тему доступной. В это время он фактически не поддерживает кнопки без полей, но вы можете получить тот же эффект, установив фон кнопок на android:background="@drawable/list_selector_holo_light"
Если это слишком тяжелое решение, либо извлеките соответствующие активы из holoeverywhere или из \android-sdk\platform\android-16\data\res\drawable и поместите их в свой собственный проект
Ответ 2
Убедитесь, что ответ, который я нашел в этом вопросе, работает с вами: Мое приложение закрывается при настройке setcontentview при использовании библиотеки holoeverywhere
style="?borderlessButtonStyle"