Пауза между анимациями без использования потоков - PullRequest
0 голосов
/ 28 февраля 2012

У меня есть много макетов, которые я хочу анимировать, но с паузой между ними, могу ли я сделать это без использования потоков?

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 ]

1 голос
/ 29 февраля 2012

Нашли:

a.setStartOffset(ms);
1 голос
/ 28 февраля 2012

Этого невозможно добиться, не используя потоки вообще, так как вы не можете поддерживать поток пользовательского интерфейса занятым.

Что вы можете и, вероятно, должны делать, это использовать потоки косвенно, например, с помощью AsyncTask или Timer .

0 голосов
/ 11 августа 2014

Возможно, уже слишком поздно, но я нашел другое простое решение:

Просто создайте аниматор (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" 
/>
...