在不使用线程的情况下暂停动画

时间:2012-02-28 13:55:38

标签: android android-layout android-animation

我有很多布局,我希望动画但是它们之间有暂停,我可以不使用线程吗?

final LinearLayout imagineL = (LinearLayout) findViewById(R.id.applayer);
final LinearLayout btneyeviewL = (LinearLayout)findViewById(R.id.eyeviewlay);
final LinearLayout btnonlineL = (LinearLayout) findViewById(R.id.onlinelay);

final Animation a = AnimationUtils.loadAnimation(this, R.anim.layanim);
    a.reset();
    imagineL.clearAnimation();
    imagineL.startAnimation(a);
    //pause for 1sec here
    a.reset();
    btneyeviewL.clearAnimation();
    btneyeviewL.startAnimation(a);
     //pause for 1sec here
    a.reset();
    btnonlineL.clearAnimation();
    btnonlineL.startAnimation(a);

3 个答案:

答案 0 :(得分:1)

如果不使用线程,则无法实现此目的,因为不允许您保持UI线程忙碌。

您可以,也可能应该做的是间接使用线程,例如,使用AsyncTask或Timer

答案 1 :(得分:1)

找到它:

a.setStartOffset(ms);

答案 2 :(得分:0)

也许为时已晚,但我找到了另一个简单的解决方案:

只需创建一个动画师(pause.xml),然后暂停:

<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000"    
    android:repeatCount="0" 
/>