编辑:
我通过制作一个小应用程序进行了测试
首先隐藏您想在此动画中显示的视图.
该视图可以来自相同的布局,而在xml中,其可见性应该是不可见的,以便动画将显示它.
如果要创建全屏动画,您可以将视图的高度和宽度设置为与父对象相匹配
以帧格式布置您的原始和显示视图
在我的情况下,我用过这个:
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_width="wrap_content"
android:textSize="20sp"
android:layout_height="wrap_content" />
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPrimaryDark"
android:id="@+id/revealiew"
android:visibility="invisible"
>
然后在你的活动按钮点击或一些事情做这个:
fab.setOnClickListener(new View.OnClickListener() {
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Override
public void onClick(View view) {
// prevIoUsly invisible view
View myView = findViewById(R.id.revealview);
// get the center for the clipping circle
int cx = myView.getWidth() / 2;
int cy = myView.getHeight() / 2;
// get the final radius for the clipping circle
int finalRadius = Math.max(myView.getWidth(),myView.getHeight());
// create the animator for this view (the start radius is zero)
Animator anim =
ViewAnimationUtils.createCircularReveal(myView,cx,cy,finalRadius);
//Interpolator for giving effect to animation
anim.setInterpolator(new AccelerateDecelerateInterpolator());
// Duration of the animation
anim.setDuration(1000);
// make the view visible and start the animation
myView.setVisibility(View.VISIBLE);
anim.start();
}
});
}