ich ein rippleDrawable, dass ich mich für ein Linearlayout als Hintergrund verwenden:Ripple-Effekt tritt nicht auf, wenn auch makeSceneTransitionAnimation mit
<LinearLayout
android:id="@+id/card_layout"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:clickable="true"
android:background="@drawable/ripple"
android:orientation="vertical" >
Ich möchte eine neue Aktivität onClick des Layouts beginnen. Wenn ich nur eine startActivity() mache, funktioniert der Ripple-Effekt gut - man sieht den größten Teil des Ripple-Effekts, dann wird der neue Bildschirm angezeigt.
Wenn ich jedoch die Aktivität mit ActivityOptionsCompat.makeSceneTransitionAnimation starte, tritt der Ripple-Effekt nicht auf, wenn ich auf das Layout klicke. Beachten Sie, dass langes Drücken immer noch die Welligkeit in diesem Fall anzeigt.
Ich habe dies auch auf einer Schaltfläche versucht und das gleiche Ergebnis gesehen.
Es ist also wie makeSceneTransitionAnimation geschieht zu schnell oder überschreiben den Welleneffekt. Ich möchte, dass die Ripple beendet wird oder zumindest etwas davon zu sehen ist, bevor die Szenenübergangsanimation auftritt. Ich bin mir nicht sicher, ob das mit dem Ripple und der Transition, die über den Render-Thread konkurrieren, zu tun hat.
Ich versuchte Aufruf von postponeEnterTransition auf die aufgerufene Aktivität. Aber das hat nicht funktioniert - die angerufene Aktivität wird sofort angezeigt, und dann wird der Übergang verschoben, bis Sie ihn erneut starten.
Wer hat irgendwelche Ideen, was ich falsch machen könnte?
Ich verwende API 21 (keine AppCompat). Vielen Dank im Voraus für jede Hilfe.
Haben Sie es irgendwie geschafft, das zu umgehen? –
@ChristerNordvik Nein, ich habe noch keine Lösung dafür gefunden. – Scott
Ich habe das gleiche Problem mit AppCompat. – sidecarcat