android 高仿36氪注册登录时输入输出框的动画效果

来源:互联网 发布:acid3 知乎 编辑:程序博客网 时间:2024/06/05 18:11

最近UI妹纸看到36氪的注册登录输入时的缩放效果,要求我们的注册登录界面也那么做,自己下载了个36氪看一下,有两种方法实现第一就是一个组合动画,平移和缩放的组合动画。核心代码如下:

private void smallAnimation(TextView tv) {
TranslateAnimation translate = new TranslateAnimation(0,0,0,-50);
AnimationSet set = new AnimationSet(true);
set.addAnimation(translate);
ScaleAnimation scaleAnimation = new ScaleAnimation(1.0f, 0.7f, 1.0f,
0.7f, Animation.RELATIVE_TO_SELF, 0f,
Animation.RELATIVE_TO_SELF, 0.5f);
set.addAnimation(scaleAnimation);
set.setFillAfter(true);
set.setDuration(400);
//tv.setTextSize(10);
tv.startAnimation(set);
}


private void bigAniamtion(TextView tv) {
TranslateAnimation translate = new TranslateAnimation(0,0,-50,0);
AnimationSet set = new AnimationSet(true);
set.addAnimation(translate);
ScaleAnimation scaleAnimation = new ScaleAnimation(0.7f, 1.0f, 0.7f,
1.0f, Animation.RELATIVE_TO_SELF, 0f,
Animation.RELATIVE_TO_SELF, 0.5f);
set.addAnimation(scaleAnimation);
set.setFillAfter(true);
set.setDuration(400);
//tv.setTextSize(16);
tv.startAnimation(set);
}

第二种实现方法:修改layoutParmas:

private void changeSmall(){
RelativeLayout.LayoutParams parmas=(LayoutParams) tv.getLayoutParams();
parmas.bottomMargin=30;
tv.setLayoutParams(parmas);
tv.setTextSize(10);
}
private void changeBig(){
RelativeLayout.LayoutParams parmas=(LayoutParams) tv.getLayoutParams();
parmas.bottomMargin=10;
tv.setLayoutParams(parmas);
tv.setTextSize(16);
}

0 0
原创粉丝点击