控件渐变式显示和消失动画,AlphaAnimation
来源:互联网 发布:nba十大得分后卫 知乎 编辑:程序博客网 时间:2024/04/18 09:16
实现控件渐变式的显示和消失,这里我们用到的是alphaAnimation
这里不做api的介绍,很简单,度娘一堆一堆的,我这边仅仅是把代码写出来,大家一看就会懂
第一步:创建动画对象
private AlphaAnimation appearAnimator;private AlphaAnimation appearAnimator2;private AlphaAnimation disappearAnimator;private AlphaAnimation disappearAnimator2;
appearAnimator = new AlphaAnimation(0,1);appearAnimator.setDuration(300);appearAnimator2 = new AlphaAnimation(0,1);appearAnimator2.setDuration(300);disappearAnimator = new AlphaAnimation(1,0);disappearAnimator.setDuration(200);disappearAnimator2 = new AlphaAnimation(1,0);disappearAnimator2.setDuration(200);你们一定想问,为什么写出来两个,因为我要控制两个控件的显示和隐藏,你们又会骂我是个二货。各位看官别着急,没有干货 我才不会写出来找骂。
创建两个对象的原因:当两个控件同时消失的时候,如果你使用的是同一个disappearAnimator对象的时候,你一定会发现两个控件消失后,先执行消失动画的控件又会立刻显示出来,我分析的原因是同一个对象被同时使用,内部的getanimatorvalue值从1到0后,被再次执行,但是动画没有start,只有设置为1,所以又显示出来。
第二步:
显示:
if(rl1.getVisibility()==View.GONE){ rl1.startAnimation(appearAnimator); rl1.setVisibility(View.VISIBLE); rl2.startAnimation(appearAnimator2); rl2.setVisibility(View.VISIBLE);}
注意,这里显示完毕之后一定要把visible状态变为visible
隐藏:
/** * 渐进式隐藏布局 * @param rl */private void hideRlBack(final RelativeLayout rl,AlphaAnimation disappearAnimator) { rl.startAnimation(disappearAnimator); disappearAnimator.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { rl.setVisibility(View.GONE); } @Override public void onAnimationRepeat(Animation animation) { } });}调用:
if(rl1.getVisibility()==View.VISIBLE){ hideRlBack(rl1,disappearAnimator); hideRlBack(rl2,disappearAnimator2);}第一步的红字重要原因就是这里发生的,大家稍微注意一下。
声明,此文仅仅是让小白少走点弯路,大牛绕行。
0 0
- 控件渐变式显示和消失动画,AlphaAnimation
- AlphaAnimation渐变动画Demo
- Android 动画 - AlphaAnimation渐变动画
- js渐变显示渐变消失
- 【Android动画九章】-AlphaAnimation(渐变动画)
- 补间动画详解二 渐变动画AlphaAnimation
- AlphaAnimation的使用---控件显示(隐藏)时的属性动画
- Android动画 之 Tween Animation(AlphaAnimation 透明度渐变)
- 在splash页面添加AlphaAnimation透明度渐变动画效果
- popupwindow 显示和消失的动画
- Qt 控件渐变隐藏消失
- android动画之AlphaAnimation(渐变动画,最简单的动画)
- iOS swift-自定义转场动画_实现modal控制器显示与消失时的透明度渐变
- 启动动画渐变扩大并消失
- 自定义文本横向渐变消失的控件
- AlphaAnimation动画效果
- Android动画之AlphaAnimation
- Android 布局显示消失动画
- MxNet系列——how_to——develop_and_hack
- 八进制,十进制,十六进制和二进制之间转换法
- IO流_字节流复制视频案例1
- Linux下vsftpd的配置文件的参数详解
- 二进制,八进制,十进制,十六进制之间的转换
- 控件渐变式显示和消失动画,AlphaAnimation
- 泛型编程实现队列
- 科学家推测,我们都是二次元人!全息3d网
- 自学Linux系统的小总结(一)
- 寒假10days总结
- 作业3 DDS模块设计
- MxNet系列——how_to——cloud
- centos 7 上mysql部署
- 关于vs2010中mfc使用sqlite3