我目前正在创建一个Android应用程序,用户可以输入自己的名字,按下一个按钮,然后将名字输出回用户
我想用它实现的一个效果是,当他们按下按钮后,输入和按钮将消失(到目前为止完成这一点),然后MainActivity视图的背景色将产生一个新颜色的涟漪(从中心),最终改变整个背景色
既然我只能找到关于在按下按钮时向按钮添加涟漪的教程,我将如何以编程方式进行此操作
编辑:
我通过制作一个小应用程序来测试这一点
首先,隐藏要在此动画中显示的视图
视图可以来自同一布局,在xml中,视图的可见性应该是不可见的,这样动画就会显示视图
如果要创建全屏动画,可以将视图高度和宽度设置为匹配父对象
在框架布局中获取原始视图并显示视图
就我而言,我使用了以下方法:
<;框架布局
android:layout\u width=“匹配父项”
android:layout\u height=“match\u parent”>;
<;TextView android:text=“你好,世界!”
android:layout\u width=“包装内容”
android:textSize=“20sp”
android:layout\u height=“wrap\u content”/>;
<;线性布局
xmlns:android=”http://schemas.android.com/apk/res/android"
android:orientation=“vertical”android:layout\u width=“match\u parent”
android:layout\u height=“match\u parent”
android:background=“@color/colorPrimaryDark”
android:id=“@+id/revaliview”
android:visibility=“不可见”
&燃气轮机;
</框架布局>;
然后在按钮上的活动中单击或某些事件执行以下操作:
fab.setOnClickListener(新视图.OnClickListener(){
@TargetApi(Build.VERSION\u code.LOLLIPOP)
@凌驾
公共void onClick(视图){
//以前不可见的视图
视图myView=findviewbyd(R.id.revealview);
//获取剪切圆的中心
int cx=myView.getWidth()/2;
int cy=myView.getHeight()/2;
//获取剪裁圆的最终半径
int finalRadius=Math.max(myView.getWidth(),myView.getHeight());
//为此视图创建动画制作程序(开始半径为零)
动画师=
ViewAnimationUtils.createCircularVeal(myView,cx,cy,0,finalRadius);
//为动画提供效果的插值器
动画设置插值器(新的加速加速插值器());
//动画的持续时间
动画设定持续时间(1000);
//使视图可见并启动动画
设置可见性(View.VISIBLE);
anim.start();
}
});
}
您可以在此处详细查看官方文档:
http://developer.android.com/training/material/animations.html