6

Ich möchte Ripple-Effekt auf die ImageView/ImageButton in Benachrichtigung auf Android Lollipop hinzufügen. Ich habe gesehen, dass dies bei Google Play Music möglich ist. Die Lösung, die ich mit anderen Ansichten verwendete, funktioniert jedoch nicht mit Benachrichtigungen.Android Lollipop - Ripple-Effekt in der Benachrichtigung

Ich habe RippleDrawable erstellt in ziehbar-v21

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

Und setzen Sie diesen ziehbar als Hintergrund der Image

<ImageView android:id="@+id/notification_play_button" 
      tools:src="@drawable/av_play_over_video" 
      android:layout_width="32dp" 
      android:layout_height="32dp" 
      android:background="@drawable/button_selector_semi_black" 
      /> 

Aber es funktioniert einfach nicht. Haben Sie Ideen, wie Sie diesen Effekt erzielen können?

+0

Ich vermute, dass Sie ein' '(' StateListDrawable') wollen das bedeutet die Welligkeit beim Klicken auf die Schaltfläche – CommonsWare

+0

@CommonsWare Ich habe versucht, '' mit '' wobei 'button_selector_semi_black' mein ist Welligkeit ohne Wirkung :(Vielleicht ist zu spät und ich bin blind:/ – radzio

+0

Wenn Sie auf dem Emulator testen, AFAIK yo Sie benötigen den Host-GPU-Modus, um den Effekt zu sehen. Ich kann den Host-GPU-Modus nicht auf meinem Ubuntu-Setup verwenden (obwohl ich es in letzter Zeit nicht ausprobiert habe, also haben sie vielleicht den Fehler behoben), aber um Wellen zu sehen, muss ich auf Android 5.0-Hardware testen. – CommonsWare

Antwort

1

Ich vermute, Sie haben "RemoteViews" verwendet, um Ihr Benachrichtigungslayout anzupassen.

Try hinzufügen "android: background =" @ android:. Farbe/transparent“

in Ihrem angepassten Layout Ansicht Gruppe

+0

Damit funktioniert die Ripple ABER ich fand einen sehr hässlichen Bug in einigen Samsung-Handys (wie S6). Wenn Sie dies verwenden, wird die Benachrichtigung tatsächlich transparent sein (ja, Sie können das Zeug dahinter sehen). Es könnte ein Bug nur bei Samsung sein aber es ist immernoch nervig ... Ohne einen Hintergrund bei allen überall einzustellen aber dann ist das Ripple für Buttons nicht sichtbar. –

+0

Dies funktioniert nicht in RemoteViews. –

Verwandte Themen