先看效果:
这部分从底部慢慢显示出来
只需两步即可实现此类效果:
-
在res中创建文件夹anim,里面放动画效果xml文件
duration – 动画执行多长时间
fromXDelta – X轴方向开始位置,可以是%(自身控件为100%),也可以是像素
toXDelta – X轴方向结束位置,可以是%(自身控件为100%),也可以是像素
fromYDelta – Y轴方向开始位置,可以是%(自身控件为100%),也可以是像素
toYDelta – Y轴方向结束位置,可以是%(自身控件为100%),也可以是像素
startOffset – 延迟多长时间后才开始动画
还有两个属性:
fillBefore 和 fillAfter 这里不进行介绍,只说亲测效果
首先这两个属性放在 set 标签内 ; translate 内无效果
fillBefore 默认属性,显示(由GONE到VISIBLE),隐藏后(由VISIBLE到GONE)消失
fillAfter 显示(由GONE到VISIBLE),隐藏后(由VISIBLE到GONE)不消失,就在最后位置停留显示
隐藏 bottom_out.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="300"
android:fromYDelta="0"
android:toYDelta="100%"/>
</set>
显示 bottom_in.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="300"
android:fromYDelta="100%"
android:toYDelta="0" />
</set>
-
添加动画,预先控件就在你想要的位置,先隐藏掉 visibility=“gone”
然后在显示出来,反之同理
Animation animBottomOut = AnimationUtils.loadAnimation(Activity.this,R.anim.bottom_out);
//animBottomOut.setDuration(240);//动态设置多长时间,xml里面设置了,这里就不要写了
view(你要添加效果的控件).setVisibility(VISIBLE);
view(你要添加效果的控件).startAnimation(animBottomOut);
版权声明:本文为As_thin原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。