要实现Android布局的动画过渡,可以使用属性动画或过渡动画。下面是两种解决方法的示例代码:
// 创建一个布局动画过渡的方法
public void animateLayoutTransition(ViewGroup container) {
LayoutTransition transition = new LayoutTransition();
// 设置布局动画过渡的效果
ObjectAnimator fadeInOut = ObjectAnimator.ofFloat(null, "alpha", 0f, 1f);
transition.setAnimator(LayoutTransition.APPEARING, fadeInOut);
transition.setAnimator(LayoutTransition.DISAPPEARING, fadeInOut);
// 设置布局动画过渡的时间
transition.setDuration(500);
// 设置布局动画过渡到容器中
container.setLayoutTransition(transition);
}
// 在Activity中调用布局动画过渡的方法
ViewGroup container = findViewById(R.id.container);
animateLayoutTransition(container);
// 在res目录下创建anim文件夹,并在anim文件夹中创建动画资源文件
// fade_in.xml
// fade_out.xml
// 在Activity中使用过渡动画
ViewGroup container = findViewById(R.id.container);
Animation fadeIn = AnimationUtils.loadAnimation(this, R.anim.fade_in);
Animation fadeOut = AnimationUtils.loadAnimation(this, R.anim.fade_out);
// 添加布局动画过渡
LayoutTransition transition = new LayoutTransition();
transition.setAnimator(LayoutTransition.APPEARING, fadeIn);
transition.setAnimator(LayoutTransition.DISAPPEARING, fadeOut);
container.setLayoutTransition(transition);
这样,当布局中的View添加或移除时,就会有动画过渡效果。
上一篇:Android布局参数未正确更新
下一篇:Android布局管理器属性