Android(安卓)组件动画
16lz
2022-04-14
1. 组件动画
设置ViewGroup
的layoutAnimation
属性,指定组件动画配置。
android:layoutAnimation="@anim/anim_layout_animation"
配置属性
delay
,动画播放延迟时间animationOrder
,子控件播放动画顺序。animationOrder
的值为normal
、reverse
和random
animation
,指定补间动画
组件动画anim_layout_animation.xml
文件
补间动画anim_in_from_right.xml
文件
效果如下
2. 代码实现
LayoutAnimationController
可以实现组件动画。
Animation animation = AnimationUtils.loadAnimation(this, R.anim.anim_in_from_right);LayoutAnimationController controller = new LayoutAnimationController(animation);controller.setDelay(0.1f);controller.setOrder(LayoutAnimationController.ORDER_NORMAL);ViewGroup container = findViewById(R.id.container);container.setLayoutAnimation(controller);container.startLayoutAnimation();
3. 指定播放顺序
自定义LayoutAnimationController
,并覆盖getTransformedIndex(AnimationParameters)
方法,同时指定自定义顺序setOrder(-1)
。
private static class CustomLayoutAnimationController extends LayoutAnimationController { CustomLayoutAnimationController(Animation animation) { super(animation); } @Override protected int getTransformedIndex(AnimationParameters params) { if (getOrder() < 0) { int index = params.index; int count = (params.count + 1) / 2; if (index < count) { return count - 1 - params.index; } else { return params.index - count; } } else { return super.getTransformedIndex(params); } }}
效果如下
相关文章
Animation动画
帧动画
属性动画
组件动画
Transition动画
更多相关文章
- Android(安卓)动画框架
- android发展计划,技术栈
- Android(安卓)buttom textview 颜色平滑过渡的动画效果
- Spring for android实现客户端与服务器的通信
- Android(安卓)- ToDoList 详解
- Android布局动画之animateLayoutChanges与LayoutTransition
- Android(安卓)属性动画 源码解析 深入了解其内部实现
- Android用户界面UI组件--AdapterView及其子类(三) ExpandableLis
- Android(安卓)Animation 动画效果介绍