使用alignParentRight参数显示动画对视图不起作用

时间:2015-01-12 16:06:30

标签: android animation

我正在使用Google tutorial为布局创建透视动画。 一切正常,直到我添加了alignParentRight =" true"属性为波纹布局。它看起来似乎没有任何动画。

这是我的布局:

<LinearLayout
        android:id="@+id/ripple"
        android:alignParentRight="true"
        android:layout_width="wrap_content"
        android:orientation="vertical"
        android:visibility="invisible"
        android:background="@color/black_transparent_60"
        android:layout_height="match_parent">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

    </LinearLayout>

这里的代码用展示动画显示这个布局:

int cx =(myView.getLeft()+ myView.getRight())/ 2;     int cy =(myView.getTop()+ myView.getBottom())/ 2;

int finalRadius = Math.max(myView.getWidth(), myView.getHeight());

Animator anim = ViewAnimationUtils.createCircularReveal(myView, cx, cy, 0, finalRadius);

anim.setDuration(1000);

myView.setVisibility(View.VISIBLE);
mButtonShow.setVisibility(View.GONE);

anim.start();

1 个答案:

答案 0 :(得分:1)

cx计算错误。

这段代码工作正常:

 final int cx = getResources().getDisplayMetrics().widthPixels;

        final int finalRadius = Math.max(myView.getWidth(), myView.getHeight());

        Animator anim = ViewAnimationUtils.createCircularReveal(myView, cx, 0, 0, finalRadius);