Ich versuche, meine Ansicht auf eine Ansicht außerhalb des Layouts der Eltern zu animieren. Wie in anderen Fragen gesagt, würde ich verwenden müssen:Animieren der Ansicht außerhalb der übergeordneten Layoutgrenzen mit einem CardView
android:clipChildren="false"
android:clipToPadding="false"
Welche funktioniert perfekt für normale Ansichten! Allerdings muss ich eine Ansicht aus einem CardView animieren. Aus irgendeinem Grund, wenn sich meine Ansicht in einer CardView befindet, wird sie nicht animiert, sondern nur an der Grenze angehalten.
Meine Layout-Datei ist sehr einfach, nur ein Linearlayout, einige Ansichten und eine cardview mit der belebenden Blick ins Innere davon:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical"
android:clipChildren="false"
android:clipToPadding="false">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" />
<android.support.v7.widget.CardView
android:layout_width="350dp"
android:layout_height="200dp"
android:clipChildren="false"
android:clipToPadding="false">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clipChildren="false"
android:clipToPadding="false">
<View
android:id="@+id/animate"
android:layout_width="25dp"
android:layout_height="25dp"
android:background="@android:color/holo_red_light"/>
</LinearLayout>
</android.support.v7.widget.CardView>
</LinearLayout>
Der Code, den ich für die Animation mit bin ist:
View view = findViewById(R.id.animate);
ObjectAnimator animation2 = ObjectAnimator.ofFloat(view, "translationY", -500);
animation2.setDuration(5000);
animation2.setTarget(view);
animation2.start();
Das Problem ist jetzt, dass wenn ich die CardView verwende, die Ansicht aufhört, an der Grenze zu animieren. Es verschwindet einfach. Wenn ich ein normales FrameLayout verwende, animiert es aus dem Elternteil.
Gibt es irgendein merkwürdiges Verhalten, das ich mit der CardView vermisse und davon animiere?
Es ist min API 21 erforderlich, brauche ich eine Lösung für API 16 –