2016-09-28 3 views
5

Mein XML-Code setzen:Wie Taste Hintergrund ziehbar Bild mit Welleneffekt in android

<Button 
    android:id="@+id/link_btn" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@drawable/google_btn" /> 

Ich beantrage Wirkung Standard Ripple

<Button 
    android:id="@+id/link_btn" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="?android:attr/selectableItemBackground" /> 

aber ich brauche Taste Hintergrund "@drawable/google_btn" mit
"?android:attr/selectableItemBackground". es bedeutet, dass ich Kräuselungseffekt mit kundenspezifischem Hintergrund benötige.

+0

wie kann ich tun, dass man –

+0

Es lohnt sich, betont, dass (wie @zahidul erwähnt), Wellen-Effekte sind für Android v21 und oben nur. – user1506104

Antwort

5

In Ihrem Ordner drawable-v21 können Sie Code für Welleneffekt selbst schreiben. Erstellen Sie eine ausklappbare XML-Datei und setzen Sie das Start-Tag auf ripple. Wie folgt aus:

<?xml version="1.0" encoding="utf-8"?> 
<ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/colorAccentDark"> 
    <item> 
     <selector xmlns:android="http://schemas.android.com/apk/res/android" > 
      <item 
       android:drawable="@color/button_accent_dark" 
       android:state_checked="false"/> 
      <item 
       android:drawable="@color/button_accent" 
       android:state_checked="true" /> 
      <item 
       android:drawable="@color/button_accent_dark" /> 

     </selector> 
    </item> 
</ripple> 
+0

Vielen Dank @Zahidul Islam .. Das funktioniert und noch ein Zweifel, wie kann ich Ripple-Effekte auf unter V21 anwenden –

5
<?xml version="1.0" encoding="utf-8"?> 
<ripple xmlns:android="http://schemas.android.com/apk/res/android" 
    android:color="?android:colorControlHighlight" > 

    <item 
     android:id="@android:id/mask" 
     android:drawable="@drawable/btn_rectangle"/> 
    <item android:drawable="@drawable/btn_rect_states"/> 

</ripple> 

Probieren Sie den obigen Code hier in Drawables geben Sie Ihre eigenen benutzerdefinierten drawbare Hintergründe, wie Sie es brauchen.

+0

ja seine Arbeit –

+1

Das ist großartig unter V21 Welligkeit nicht funktionieren, so dass Sie eed, Selektor-Datei Ihrer Taste Zustände für normale und für gepresste Zustand zu erstellen @PrithivDharmaraj .. Bitte akzeptieren oder upvote, wenn meine Antwort Ihnen hilft .. –

2

Wenn die Schaltfläche, um einen Hintergrund aus der ziehbar hat, können wir allmählich ausbreitende Wirkung in den Vordergrund Parameter hinzuzufügen .. Unten Code seine Arbeit für meine Taste mit einem anderen Hintergrund

<Button 
android:layout_width="wrap_content" 
android:layout_height="40dp" 
android:gravity="center" 
android:layout_centerHorizontal="true"                
android:background="@drawable/shape_login_button" 
android:foreground="?attr/selectableItemBackgroundBorderless" 
android:clickable="true" 
android:text="@string/action_button_login" 
/> 

Fügen Sie unter Parameter für Kräuselungeffekt

android:foreground="?attr/selectableItemBackgroundBorderless" 
android:clickable="true" 
Verwandte Themen