Android 使用CardView在父布局边界外设置视图动画

Android 使用CardView在父布局边界外设置视图动画,android,animation,android-cardview,clip,Android,Animation,Android Cardview,Clip,我正在尝试将我的视图设置为父布局之外的视图。如其他问题所述,我需要使用: android:clipChildren="false" android:clipToPadding="false" 这对正常视图非常有效!但是,我需要从CardView中设置视图动画。由于某些原因,当我的视图位于CardView内部时,它不会在其外部设置动画,它只会在边界处停止 我的布局文件非常简单,只是一个线性布局,一些视图和一个内部带有动画视图的cardview: <Linea

我正在尝试将我的视图设置为父布局之外的视图。如其他问题所述,我需要使用:

        android:clipChildren="false"
        android:clipToPadding="false"
这对正常视图非常有效!但是,我需要从CardView中设置视图动画。由于某些原因,当我的视图位于CardView内部时,它不会在其外部设置动画,它只会在边界处停止

我的布局文件非常简单,只是一个线性布局,一些视图和一个内部带有动画视图的cardview:

<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>
现在的问题是,当我使用CardView时,视图在边界处停止动画。它只是消失了。当我使用一个普通的框架布局时,它会在父框架外设置动画


在CardView中,我是否缺少任何奇怪的行为并在其中设置动画?

结果是在CardView上

cardView.setClipToOutline(false);

需要打电话。这确实可以防止项目在边框处消失。

结果是在CardView上

cardView.setClipToOutline(false);

需要打电话。这确实可以防止项目在边界处消失。

这是最低API 21要求的,我需要API 16的解决方案。最低API 21要求的,我需要API 16的解决方案