Android控件动态显示和隐藏

  • Post author:
  • Post category:其他


先看效果:

这部分从底部慢慢显示出来

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

只需两步即可实现此类效果:

  1. 在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>
  1. 添加动画,预先控件就在你想要的位置,先隐藏掉 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 版权协议,转载请附上原文出处链接和本声明。