Как показать несколько изображений в качестве заставки в Android? - PullRequest
0 голосов
/ 03 июня 2011

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

 public class SplashScreen extends Activity {

    /**
     * The thread to process splash screen events
     */
    private Thread mSplashThread;    

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // Splash screen view
        setContentView(R.layout.splash);

        final SplashScreen sPlashScreen = this;   

        // The thread to wait for splash screen events
        mSplashThread =  new Thread(){
            @Override
            public void run(){
                try {
                        Thread.sleep(1000);
                }
                catch(InterruptedException ex){                    
                }

                finish();

                // Run next activity
                Intent intent = new Intent();
                intent.setClass(sPlashScreen, MainActivity.class);
                startActivity(intent);
                stop();                    
            }
        };

        mSplashThread.start();        
    }

Можно ли как-то просто заменить изображение в ImageView?

Спасибо !!

Ответы [ 3 ]

2 голосов
/ 03 июня 2011

Сначала прочитайте первые 5 страниц этого документа. При запуске onCreate действие еще не видно.Таким образом, вы не можете изменить изображение в onCreate.Действие не отображается, пока не запустится onStart.Вы можете установить изображение в onCreate, затем в onStart запустить AsyncTask , который будет спать в течение 1 секунды, затем загружать второе изображение и затем спать в течение еще одной секунды, а затем запустить главный экран.

1 голос
/ 03 июня 2011

Создайте небольшую анимацию, подобную этой ...

http://www.codeproject.com/KB/android/AndroidSplash.aspx

И поместите два изображения по одному, чтобы показать их на экране ...

Happy Coding!

0 голосов
/ 09 мая 2012
public class SplashScreen extends Activity {
 private ImageView image;
 private Thread splashTread;

 private LinearLayout linear;
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.splash);
  final Handler handler = new Handler() {



   @Override
   public void handleMessage(Message msg) {
    super.handleMessage(msg);
    linear = (LinearLayout) findViewById(R.id.splash_linear);
    Drawable d = getResources()
      .getDrawable(R.drawable.splashscreenlite);
    linear.setBackgroundDrawable(d);
    System.out.println("Image change");
   }

  };

  splashTread = new Thread() {
   @Override
   public void run() {
    try {
     sleep(1500);
    } catch (Exception e) {
    } finally {
     handler.sendEmptyMessage(1);
     try {
      Thread.sleep(1500);
     } catch (InterruptedException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     } finally {
      SplashScreen.this.finish();
      startActivity(new Intent(SplashScreen.this,
        Mainactivity.class));
     }
    }
   }
  };
  splashTread.start();

 }
}
...