2

是否可以平滑地为多个按钮制作淡出动画?

创建了 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 进行测试。

4

1 回答 1

6

无需单独为每个按钮应用动画;相反,将它们全部粘贴到另一个布局(即 GridLayout)中,并将动画应用到该布局。

于 2013-05-06T10:58:40.257 回答