设置比例动画时,子视图的高程错误

时间:2018-10-30 14:25:38

标签: java android animation

我的视图具有以下布局:

<?xml version="1.0" encoding="utf-8"?>
<com.myapp.views.ContextMenu
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:clipChildren="false"
    android:clipToPadding="false"
    android:padding="8dp">

    <FrameLayout
        android:id="@+id/menuBackground"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/menu_container_background"
        android:elevation="4dp">

        <android.support.v7.widget.RecyclerView
            android:id="@+id/recyclerView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clipToPadding="false"
            android:paddingTop="8dp"
            android:paddingBottom="8dp"
            tools:itemCount="6"
            tools:listitem="@layout/fragment_context_menu_item"/>

    </FrameLayout>

</com.myapp.views.ContextMenu>

我希望使用该动画显示菜单

public void startShowAnimation() {
    setScaleX(.2f);
    setScaleY(.2f);
    setAlpha(0f);
    animate()
        .scaleX(1f).scaleY(1f)
        .alpha(1f)
        .setInterpolator(new DecelerateInterpolator())
        .setDuration(SHOW_ANIMATION_DURATION)
        .start();
}

但是,当视图动画化时,menuBackground下的阴影开始变大,就像视图具有20%的缩放比例一样,然后它随阴影而缩放,动画结束后,阴影会跳到适当的大小

动画开始时,它看起来像这样:

animation start

然后几乎完成阴影后,阴影就不成比例了:

animation 75%

动画完成后,阴影会突然变小:

animation done

如何确保动画不会影响孩子的阴影?

0 个答案:

没有答案