2016-10-29 1 views
1

In meinem Code habe ich mehrere randlose Schaltflächen, die ich die Farben ändern möchte. Wenn ich ihren Stil auf style="?android:buttonBarButtonStyle" setze und ihren Hintergrund auf einen Wert eintrage, sehe ich den Welleneffekt nicht, wenn ich darauf klicke.Ripple-Effekt auf einer Schaltfläche mit geänderter Farbe

<Button android:id="@+id/button_del" style="?android:buttonBarButtonStyle" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#9E9E9E" android:text="@string/del" android:textColor="@android:color/white" />

Antwort

0

Um dies zu tun, Sie benutzerdefinierte Welligkeit benötigen verwenden.
Erstellen Sie eine neue Datei ziehbar my_custom_ripple innerhalb drawable Ordner mit diesem Code:

<?xml version="1.0" encoding="utf-8"?> 
<ripple xmlns:android="http://schemas.android.com/apk/res/android" 
     android:color="@color/button_first_ripple_circle"> 
    <item android:id="@android:id/mask"> 
     <shape android:shape="oval"> 
      <solid android:color="@color/background_color"/> 
     </shape> 
     <color android:color="@color/button_second_ripple_circle"/> 
    </item> 
</ripple> 
+0

die den Hintergrund Attribut überschreibt, ich habe jetzt Nö, es wird funktionieren – icancto

+0

@icancto nun an keine Farbe bedeutet. Ich sehe den Welleneffekt, aber der Hintergrund ist immer noch weiß. Die Hintergrundfarbe kann nicht geändert werden, da es jetzt "android: background =" @ drawable/custom_ripple "' ist –

+0

Still ... – icancto

Verwandte Themen