Ustawiłem przycisk jako przezroczysty, więc chciałbym zmienić kolor tekstu przycisku po naciśnięciu przycisku. Czy jest to możliwe przy użyciu tylko plików xml?Zmiana koloru tekstu przycisku po naciśnięciu przycisku
Odpowiedz
Zobacz sekcję o nazwie State Lista w tym kawałku dokumentacji ... Drawable Resources.
Można zdefiniować dwa różne pliki Button
xml dla przezroczystego stanu "domyślnego" i inny z przyciskiem "Czerwony" dla stanu "wciśnięty". Następnie należy zdefiniować selector
, który przełącza zasoby do rysowania w różnych stanach.
EDYCJA: Zgodnie z komentarzem devunwired, zasób listy kolorów jest prawdopodobnie bardziej odpowiedni tylko do zmiany kolorów niż do samego losowania.
Musisz to zrobić w swoim kodzie. Spróbuj tego:
mBtn = ((Button) findViewById(R.id.button1));
mBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mBtn.setTextColor(Color.RED);
}
});
Declare:
private Button mBtn;
Tak, można to zrobić tak:
Układ/main_layout.xml:
.....
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="bonjour !"
android:textColor="@color/button_text_color"
/>
.....
kolor/button_text_color.xml:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#c0c0c0" android:state_pressed="true"/>
<item android:color="#ffffff"/>
</selector>
gdzie dokładnie zmieniasz kolor tekstu? grasz z tłem, ale nie kolor tekstu –
Nie "@ drawable/button_text_color", ale '@ color/button_text_color'. – CoolMind
Musisz ustawić @drawable
xml zasobu w textColor
atrybut
Oto przykład: Android customized button; changing text color
- 1. Zmiana koloru tła przycisku paska zadań po naciśnięciu
- 2. Zmiana koloru przycisku AlertDialog.Builder
- 3. Zmiana koloru przycisku po najechaniu myszą
- 4. zmiana koloru przycisku reaguje natywnie
- 5. Zmiana koloru przycisku w AlertDialog
- 6. jQuery zmiana koloru przycisku onclick
- 7. Ignorowanie UIGestureRecognizer po naciśnięciu przycisku
- 8. Jak zmienić kolor przycisku koloru po naciśnięciu w systemie Android?
- 9. iOS - Przejście koloru paska nawigacji po naciśnięciu przycisku cofania
- 10. Zmiana tekstu przycisku klawiatury "Zwrot"
- 11. Zmiana opcji w menu Option po naciśnięciu przycisku
- 12. Przejdź do adresu URL po naciśnięciu przycisku OK po naciśnięciu przycisku
- 13. Zmiana koloru przycisku akcji na błyszczącym
- 14. Zmiana koloru tła przycisku SearchView i zapytania
- 15. Zmiana koloru przycisku po najechaniu myszą w Xaml
- 16. UISearchController odrzuca VC po naciśnięciu przycisku anulowania
- 17. Ciągle zwiększaj wartość całkowitą po naciśnięciu przycisku.
- 18. Ustaw AVPlayerViewController odtwarzane po naciśnięciu przycisku
- 19. Wykrywanie po naciśnięciu przycisku "Powrót do aplikacji"
- 20. Jak zabić działanie po naciśnięciu przycisku Wstecz?
- 21. Powtórz czynność po naciśnięciu długiego przycisku.
- 22. ANDROID: Jak ustawić opóźnienie po naciśnięciu przycisku?
- 23. wywołanie funkcji po naciśnięciu przycisku - pyqt
- 24. Android - Menu podręczne po naciśnięciu przycisku listy?
- 25. Mieć wiele komend po naciśnięciu przycisku
- 26. Zapisz stan po naciśnięciu przycisku Wstecz.
- 27. Odrzuć DatePickerDialog po naciśnięciu przycisku cofania
- 28. Wyjątek po naciśnięciu przycisku na facebooku logowanie
- 29. Android - Dodaj tekst do układu po naciśnięciu przycisku
- 30. Zmiana nazwy przycisku po kliknięciu - Java JButton
+1, ponieważ ta odpowiedź jest w większości poprawna. Chcę jednak dodać, że możesz zmienić właściwość 'android: textColor' w podobny sposób, jak tło do rysowania, korzystając z kolorowych list stanów: http://developer.android.com/guide/topics/resources/color-list -resource.html – Devunwired
Doh! Tak, absolutnie. Powinienem też dołączyć do tego link - po prostu zdarzyło mi się, że drugi link został oznaczony zakładką, więc był pod ręką. – Squonk