Ich mache ein Andorid Quiz und ich möchte eine Schaltfläche hervorheben, wenn es geklickt wird, aber wenn der Benutzer den Knopf loslässt, wird er in seiner ursprünglichen Farbe angezeigt. Sie sehen, ich habe den Hintergrund der Schaltfläche festgelegt, so dass die Schaltflächen abgerundet werden können. Ich habe das in Drawable eingestellt.Wie wird eine Taste hervorgehoben, wenn gedrückt wird?
<Button
android:id="@+id/btn1"
android:background="@drawable/roundedbutton"
android:textColor="#ffffff"
android:textStyle="italic"
android:layout_width="225sp"
android:layout_marginTop="23sp"
android:layout_height="38sp"
android:layout_alignLeft="@+id/btn2"
android:layout_below="@+id/textView1"
android:text="Button" />
roundedbutton.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="10dp">
<solid android:color="#848482"/> <!-- this one is ths color of the Rounded Button -->
<corners
android:bottomRightRadius="6.5dp"
android:bottomLeftRadius="6.5dp"
android:topLeftRadius="6.5dp"
android:topRightRadius="6.5dp"/>
</shape>
Eine einfache Lösung, die einen Farbfilter ähnlich dem von Vishwas und mit einer vollständigeren Verwendung onTouchListener Lösungsbeschreibung wie die von Raghunandan: http://stackoverflow.com/a/14278790/891479 Es erstellt einen OnTouchListener, der den Farbfilter bei Berührung ändert. –