Próbuję utworzyć przycisk z selektorem, mój przycisk może mieć następujące stany:
- Włączony wyłączony
- Wciśnięty / Nie wciśnięty
Według wyżej wymienionych stanów. Muszę manipulować przyciskami:
- Kolor tekstu
- zdjęcie w tle
Przycisk zaczyna być wyłączony, więc powinien mieć wyłączony textColor i wyłączone tło przycisku. Ale widzę domyślny textColor (określony w stylu) i NIE MA obrazu tła!
Oto mój selektor button_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false"
android:state_enabled="false"
android:textColor="#9D9FA2"
android:drawable="@drawable/button" />
<item android:state_pressed="true"
android:state_enabled="true"
android:drawable="@drawable/button_pressed"/>
<item android:state_pressed="true"
android:state_enabled="false"
android:textColor="#9D9FA2"
android:drawable="@drawable/button"/>
<item android:state_pressed="false"
android:state_enabled="true"
android:drawable="@drawable/button"/>
</selector>
A oto moja deklaracja przycisku w pliku my layout.xml
<Button android:id="@+id/reserve_button"
android:text="@string/reserve_button"
android:layout_width="120dp"
android:layout_height="40dp"
android:layout_marginTop="10dp"
android:layout_marginLeft="20dp"
android:paddingRight="15dp"
android:layout_gravity="left"
style="@style/buttonStyle"
android:background="@drawable/button_selector" />
I wreszcie to jest mój styl (gdzie ustawiony jest mój domyślny textColor)
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="buttonStyle">
<item name="android:textStyle">bold</item>
<item name="android:textColor">#282780</item>
<item name="android:textSize">18sp</item>
</style>
</resources>
Proszę pomóż!
@color
buttyStyle. Teraz jest zaktualizowany.text_color.xml
nie kompiluje się (przynajmniej dla mnie), chyba że umieszczę go wdrawable
folderze, co wymaga@drawable/text_color
color
jest to właściwy folder dla zasobu Color State List. Twoja edycja jest mile widziana.1. utwórz folder kolorów w folderze / res / iw folderze kolorów utwórz w formacie xml:
text_color_selector.xml
2. teraz utwórz układ xml: -
źródło
Najłatwiejszym rozwiązaniem jest ustawienie filtru kolorów na obraz tła przycisku i, tak jak widziałem tutaj
Możesz wykonać następujące czynności:
Mam nadzieję, że komuś pomogłem ...
źródło
Nie widzę diable twojego przycisku w pliku XML układu. dodaj to do układu przycisków.
więc układ przycisku będzie taki,
źródło
Możesz stworzyć listę kolorów
Lokalizacja pliku:
Nazwa pliku będzie używana jako identyfikator zasobu.
odniesienie do zasobu:
W Javie:
R.color.filename
W XML:
@[package:]color/filename
składnia:
Przykład:
Plik XML zapisany w
res/color/button_text.xml
:Ten kod XML układu zastosuje listę kolorów do widoku:
Zobacz: Odniesienie do listy kolorów
źródło