Wie ändert man die Farbe der Farbschaltfläche, wenn sie in Android gedrückt wird?

8

Ich habe einige Knöpfe, deren Hintergrundfarbe ich separat als Rot, Grün und Blau einstelle. Wenn ich den Knopf drücke, klicke auf Ereignis wird erzeugt, aber es gibt keine Änderung in GUI, damit der Benutzer erfährt, dass der Knopf gedrückt wird. Die standardmäßige gräuliche Hintergrundfarbe der Android-Schaltfläche ändert sich in Orange und wird nach dem Loslassen des gedrückten Zustands wieder grau angezeigt. Wie man dies auf farbigen Knopf umsetzt?

    
indira 02.01.2013, 05:07
quelle

3 Antworten

26

Dies wird über eine StateListDrawable implementiert, die durch selector in XML repräsentiert wird. Referenz: Ссылка

Hier ist ein Beispiel für ein Zeichen , das nach Standard weiß ist, schwarz, wenn gedrückt :

%Vor%     
K-ballo 02.01.2013, 05:09
quelle
8

Wie von K-Ballo erwähnt, können Sie StateListDrawable verwenden, um je nach Status eine Ansicht mit verschiedenen Grafiken zu implementieren. In Ihrem Fall ist Button die Ansicht, in der zwei Zustände Taste gedrückt und Taste nicht gedrückt sind.

Wir müssen eine buttonselector.xml-Datei im ziehbaren Ordner erstellen

%Vor%

Erstellen Sie zwei separate XML-Dateien für den Status der Schaltfläche

knopf_not_pressed.xml

%Vor%

button_pressed.xml

%Vor%

Sie werden zwei HTML-Farbcodes # FF0000 & amp; #FFFFFF, die die Hintergrundfarbe der Schaltfläche entsprechend dem Status darstellen.

In Ihrer main.xml legen Sie den Stil Ihrer benutzerdefinierten Schaltfläche fest

%Vor%

Fügen Sie in Ihrer Aktivitätsklasse die folgenden zwei Zeilen hinzu

%Vor%

Hoffe es hilft

    
Vikas 02.01.2013 06:45
quelle
2

Probieren Sie es so aus:

%Vor%     
GrIsHu 02.01.2013 05:24
quelle

Tags und Links