ViewAnimationUtils - 不动画

时间:2015-06-04 21:51:04

标签: android animation android-animation android-5.0-lollipop viewanimator

我尝试使用圆形显示在单击FAB时在LinearLayout中设置动画。

Onclick,视图会在一段时间延迟后变为可见,但是没有可见的动画运行?此外,当函数反转为退出动画时,视图在动画持续时间内不可见。

代码:

//Rest of method triggered onClick Above
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){
        circleReveal(formcontainer,addnewbutton);
        ObjectAnimator.ofFloat(addnewbutton, "translationY", -heightbutton).start();
    }
}

public void circleReveal(LinearLayout formLayout, FloatingActionButton fab) {

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

    int radius = Math.max(formLayout.getWidth(), formLayout.getHeight());

    Animator reveal = createCircularReveal(formLayout, cx, cy, 0, radius);

    formLayout.setVisibility(View.VISIBLE);
    reveal.setDuration(2000);
    reveal.start();
}

非常感谢您的帮助!

[编辑]经过测试,我发现它只是这个观点,它失败了吗?我的布局中我尝试过的其他每个视图都可以正常工作吗?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/formcontainer"
              android:background="@android:color/white"
              android:layout_width="match_parent"
              android:layout_height="65dp"
              android:orientation="vertical"
              android:baselineAligned="false"
              android:paddingLeft="@dimen/activity_horizontal_margin"
              android:paddingRight="@dimen/activity_horizontal_margin"
              android:gravity="bottom"
              android:layout_marginBottom="0dp"
              android:elevation="4dp"
              android:layout_alignParentBottom="true">

[编辑2]所以,我已经部分解决了这个问题,因为动画现在有效,但只有当中心不是从FAB计算出来的时候?

1 个答案:

答案 0 :(得分:0)

圆形动画相对于视图本身运行。所以,你的中心应该是:

int cx = fab.getWidth() / 2;
int cy = fab.getHeight() / 2;