栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Android在setvisibility(view.Gone)的同时添加简单的动画

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android在setvisibility(view.Gone)的同时添加简单的动画

您可以做两件事来添加动画,首先可以让android为您设置布局动画。这样,每次您更改布局中的某些内容(例如更改视图可见性或视图位置)时,android都会自动创建淡入淡出/过渡动画。要使用那套

android:animateLayoutChanges="true"

在布局的根节点上。

您的第二个选择是手动添加动画。为此,我建议您使用Android 3.0(Honeycomb)中引入的新动画API。我可以举几个例子:

这淡出了

View

view.animate().alpha(0.0f);

这使它淡入:

view.animate().alpha(1.0f);

这会将

View
其高度向下移动:

view.animate().translationY(view.getHeight());

View
其移动到其他位置后,它将返回到其初始位置:

view.animate().translationY(0);

您也可以使用

setDuration()
设置动画的持续时间。例如,这会
View
在2秒内逐渐消失:

view.animate().alpha(0.0f).setDuration(2000);

而且,您可以根据需要组合任意数量的动画,例如,它会淡出a

View
并在0.3秒内将其同时向下移动:

view.animate()        .translationY(view.getHeight())        .alpha(0.0f)        .setDuration(300);

您还可以为动画分配一个侦听器,并对各种事件做出反应。就像动画开始时,动画结束时或重复时一样。通过使用抽象类,

AnimatorListenerAdapter
您不必
AnimatorListener
一次实现所有的回调,而只需实现所需的那些。这使代码更具可读性。例如,以下代码淡出并
View
在0.3秒(300毫秒)的时间内将其向下移动高度,动画完成后,其可见性设置为
View.GONE

view.animate()        .translationY(view.getHeight())        .alpha(0.0f)        .setDuration(300)        .setListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) {     super.onAnimationEnd(animation);     view.setVisibility(View.GONE); }        });


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/449439.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号