2013-05-06 26 views
0

是否可以顺利地为多个按钮制作淡出动画?Android:为多个按钮制作淡出动画更加流畅

创建fadeout.xml @ RES /阿尼姆

<?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个按钮时会出现问题,但是当应用于上面的许多按钮时,它会变得迟缓。

那么有没有办法让这个动画应用到许多按钮没有laggy?

因为我需要将这个动画应用到许多按钮上,162个按钮周围。

我正在使用Galaxy Nexus进行测试。

+1

为什么地球上需要单独应用〜160个按钮?为什么不将它应用到容器视图? – Cornholio 2013-05-06 10:25:02

+0

所以我需要选择所有的按钮并包装在容器中?那么什么类型的容器?网格布局?的LinearLayout? – user2341387 2013-05-06 10:29:16

+1

这取决于你 - 有了这么多按钮,我认为你动态地添加它们? – Cornholio 2013-05-06 10:30:17

回答

4

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