Моя анимация не запускается? - PullRequest
1 голос
/ 03 ноября 2011

Я пробую простую покадровую анимацию.Моя анимация работает при нажатии кнопки, но я хочу, чтобы она запускалась при запуске или при загрузке.Я попытался onWindowFocusChanged () метод также для запуска анимации, как сказано в документах.Я думаю, что я делаю глупую ошибку.У любого есть идея.

public class FirstActivity extends Activity implements OnClickListener {
/** Called when the activity is first created. */
Button btnalarm;
AnimationDrawable AniFrame;
ImageView images;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    images=(ImageView)findViewById(R.id.myImageView);
   images.setBackgroundResource(R.drawable.demo_animation);
   AniFrame = (AnimationDrawable)images.getBackground();

}
@Override
public void onWindowFocusChanged(boolean hasFocus) {

    super.onWindowFocusChanged(hasFocus);
    Log.v("in focus", "in focus");
    AniFrame.start();
}

Файл demo_animation.xml ---->

  <animation-list
     xmlns:android="http://schemas.android.com/apk/res/android"
       android:oneshot="false">
   <item android:drawable="@drawable/a" android:duration="50" />
  <item android:drawable="@drawable/b" android:duration="50" />
   <item android:drawable="@drawable/c" android:duration="50" />
  <item android:drawable="@drawable/d" android:duration="50" />
  <item android:drawable="@drawable/e" android:duration="50" />
  <item android:drawable="@drawable/f" android:duration="50" />
  <item android:drawable="@drawable/h" android:duration="50" />
  <item android:drawable="@drawable/i" android:duration="50" />
  <item android:drawable="@drawable/j" android:duration="50" />
  <item android:drawable="@drawable/k" android:duration="50" />    
</animation-list>

Ответы [ 3 ]

0 голосов
/ 03 ноября 2011

Просто используйте пыльник. Он будет работать нормально.

public void onCreate(Bundle savedInstanceState) {
//your code 
//At last of onCreate add these lines
images.post(new MyAnimation());
}

class MyAnimation implements Runnable{
@Override    
public void run(){
    AniFrame.start();
    }
    }

Теперь это будет работать, просто проверьте.

0 голосов
/ 07 ноября 2011

Попробуйте использовать setCallback непосредственно перед запуском анимации следующим образом:

AniFrame.setCallback(images);
0 голосов
/ 03 ноября 2011

Добавить AniFram.start () до конца вашего onCreate ().

Также накачайте свой R.layout.main.

Пример:

LinearLayout layout = (LinearLayout)findViewById(R.id.main);

layout.startAnimation(AniFrame);

Также проверьте ваш logcat на наличие проблем.

EDIT:

Проверьте это из Документов Должно помочь много.

Анимация рисования

...