2012-06-22 3 views
1

Я работаю на приложения, в котором я хочу, чтобы запустить два кадра анимации одновременно, но он не работает .... мой код, как следовать ....кадр анимации не работает

ImageView Background, planet, info; 
AnimationDrawable infoview, backgroundview; 
@Override 
public void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    Background = (ImageView) findViewById(R.id.imageView1); 
    planet = (ImageView) findViewById(R.id.planet); 
    //Background.setImageResource(R.drawable.friend_night_sky_31000); 
    Log.w("debug", "planetanimation started"); 
    planetStart(R.drawable.earth, R.drawable.background); 
    Log.w("debug", "planetanimation stoped"); 
    info = (ImageView) findViewById(R.id.info); 
    info.setImageResource(R.drawable.earthinfo); 
    Log.w("DEBUG", "which is null:image " + infoview + "or" + backgroundview); 
} 

public void planetStart(final int pid, final int bid){ 
    Thread timer = new Thread(){ 
    @Override 
    public void run(){ 
     try{ 
     //Thread.sleep(time); 
     } catch (Exception e){ 

     } finally{ 
     Infoview.this.runOnUiThread(new Runnable(){ 
      public void run(){ 
      planet.setBackgroundResource(pid); 
      infoview = (AnimationDrawable) planet.getBackground(); 
      infoview.start(); 
      Background.setBackgroundResource(bid); 
      backgroundview = (AnimationDrawable) Background.getBackground(); 
      backgroundview.start(); 
      Log.w("DEBUG", "which is null:image " + infoview + "or" + backgroundview); 
      } 
     }); 
     } 
    } 
    }; 
    timer.start(); 
} 

может кто-нибудь помогает мне, почему он не работает?

Edit1 мой файл земля, как следовать

<?xml version="1.0" encoding="utf-8"?> 
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" 
    > 
    <item android:drawable="@drawable/earthframe1" android:duration="150" /> 
    <item android:drawable="@drawable/earthframe2" android:duration="150" /> 
    <item android:drawable="@drawable/earthframe3" android:duration="150" /> 
    <item android:drawable="@drawable/earthframe4" android:duration="150" /> 
    <item android:drawable="@drawable/earthframe5" android:duration="150" /> 
    <item android:drawable="@drawable/earthframe6" android:duration="150" /> 
    <item android:drawable="@drawable/earthframe7" android:duration="150" /> 
    <item android:drawable="@drawable/earthframe8" android:duration="150" /> 
    <item android:drawable="@drawable/earthframe9" android:duration="150" /> 
    </animation-list> 

Б.Г. файл как последуйте

<animation-list xmlns:android="http://schemas.android.com/apk/res/android" 
    android:oneshot="false"> 
    <item android:drawable="@drawable/bg_1" android:duration="150" /> 
    <item android:drawable="@drawable/bgimage2" android:duration="150" /> 
    <item android:drawable="@drawable/bgimage03" android:duration="150" /> 
    <item android:drawable="@drawable/bgimage4" android:duration="150" /> 
    <item android:drawable="@drawable/bgimage5" android:duration="150" /> 


</animation-list> 
+0

, пожалуйста, напишите logcat здесь. –

+0

ничего не показывает ..... – Ashishsingh

+0

показать свою анимацию! –

ответ

1

вы два решения либо и может удалить нить из метода planetStart или, если и хотят, чтобы пойти с кодом, чем существующее место дать некоторое значение, как Thread.sleep (1000); в потоке сна я проверил с этим значением, и он работает для меня еще одна вещь, избегая второй анимации, начинающейся до окончания первой анимации.

+0

Я хочу, чтобы обе анимации работали одновременно – Ashishsingh

+0

Я получил своего друга-друга спасибо .... – Ashishsingh

0

Попробуйте Ниже код

package org.sample; 

import android.app.Activity; 
import android.graphics.drawable.AnimationDrawable; 
import android.os.Bundle; 
import android.util.Log; 
import android.widget.ImageView; 

public class SampleActivity extends Activity 
{ 

    ImageView Background, planet, info; 


    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    Background = (ImageView) findViewById(R.id.imageView1); 
    Background.setBackgroundResource(R.drawable.background); 

    planet = (ImageView) findViewById(R.id.planet); 
    planet.setBackgroundResource(R.drawable.earth); 

    info = (ImageView) findViewById(R.id.info); 
    info.setImageResource(R.drawable.earthinfo); 

    AnimationDrawable BackgroundAnimation = (AnimationDrawable) Background.getBackground(); 

    BackgroundAnimation.start(); 

    AnimationDrawable PlanetAnimation = (AnimationDrawable) planet.getBackground(); 

    PlanetAnimation.start(); 

    } 
} 
0

Вы не можете начать анимацию onCreate (и да, вы это делаете). Вы должны внимательно прочитать this (особенно последний пример с параграфом).

Смежные вопросы