Pytanie Jak zrobić android: background = "? Android: attr / selectableItemBackground działa na poziomie API 8


Mam kod przycisku, w którym nie chcę granicy dla tego przycisku, więc dla tego ustawiam propertie "android:background="?android:attr/selectableItemBackground", ale nie będzie działać w wersji API 8, tj. w emulatorze Froyo. Proszę podać mi alternatywy.

<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"/>

Z góry dziękuję.


12
2017-07-08 04:44


pochodzenie




Odpowiedzi:


Przyciski bez obramowania są częścią motywu Holo, który domyślnie nie jest dostępny dla starszych wersji interfejsu API. Możesz jednak użyć HoloEverywhere aby udostępnić motyw. W tej chwili nie obsługuje on również przycisków bez obramowania, ale można uzyskać ten sam efekt, ustawiając tło przycisków android:background="@drawable/list_selector_holo_light"

jeśli to zbyt poważne rozwiązanie, wyodrębnij odpowiednie zasoby z holoeverywhere lub z \ android-sdk \ platforms \ android-16 \ data \ res \ drawable i umieść je w swoim projekcie


6
2017-09-11 22:39



Świetna odpowiedź, dzięki! - Soham
Jeśli używasz ActionBarSherlock, ten drawable jest już zaimportowany jako abs__list_selector_holo_light. - Pin
android: background = "@ drawable / abc_list_selector_holo_light" pracował dla mnie. - David Douglas


Sprawdź, czy odpowiedź znaleziona w tym pytaniu działa z Tobą: Moje aplikacje zamykają się przy ustawieniu widoku pojedynczego podczas korzystania z biblioteki holoeverywhere

style="?borderlessButtonStyle"

0
2018-03-27 11:47