【发布时间】:2013-04-30 01:30:05
【问题描述】:
是否可以平滑地制作多个按钮的淡出动画?
创建了fadeout.xml @res/anim
<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:duration="1500"
android:repeatCount="infinite" />
</set>
用它来设置动画
Animation fadeout = AnimationUtils.loadAnimation(this, R.anim.fadeout);
并在点击后将动画应用于某些按钮
public void click (View v){
button1.startAnimation(fadeout);
button2.startAnimation(fadeout);
button3.startAnimation(fadeout);
button4.startAnimation(fadeout);
button5.startAnimation(fadeout);
button6.startAnimation(fadeout);
button7.startAnimation(fadeout);
button8.startAnimation(fadeout);
button9.startAnimation(fadeout);
button10.startAnimation(fadeout);
button11.startAnimation(fadeout);
button12.startAnimation(fadeout);
button13.startAnimation(fadeout);
button14.startAnimation(fadeout);
button15.startAnimation(fadeout);
}
应用于3-5个按钮时没有问题,但是当应用于像上面这样的许多按钮时,它就变得迟钝了。
那么有没有办法让这个动画应用到许多按钮上而不会出现延迟?
因为我需要将这个动画应用到很多很多按钮,大约 162 个按钮。
我正在使用 Galaxy Nexus 进行测试。
【问题讨论】:
-
究竟为什么需要将它单独应用到 ~160 个按钮上?为什么不将其应用于容器视图?
-
所以我需要选择所有按钮并包装在容器中?那么什么类型的容器呢?网格布局?线性布局?
-
这取决于您 - 有这么多按钮,我假设您正在动态添加它们?
-
我猜 GridLayout 是最适合您的解决方案。
-
感谢现在工作顺利
标签: android animation fadeout smooth