Хотите, чтобы изображение в моем приложении для Android приостановилось на 5 секунд, а затем сдвинулось с экрана влево - PullRequest
0 голосов
/ 18 февраля 2012

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

package your.package2.test3;

import android.app.Activity;
import android.os.Bundle;
import android.view.animation.AnimationSet;
import android.view.animation.TranslateAnimation;
import android.widget.ImageView;

public class Test3Activity extends Activity {

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

    ImageView img = (ImageView) findViewById(R.id.img1);

    AnimationSet animSet = new AnimationSet(true);

    TranslateAnimation Anim1 = new TranslateAnimation(0,0,0,0);
    Anim1.setDuration(5000);
    TranslateAnimation Anim2 = new TranslateAnimation(0,-300,0,0);
    Anim2.setDuration(2000);
    animSet.addAnimation(Anim1);
    animSet.addAnimation(Anim2);
    img.startAnimation(animSet);
    }  
}

Ответы [ 3 ]

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

Я не могу вспомнить ни одной ситуации, когда создание потока просто для того, чтобы усыпить длительность, является хорошей идеей.Вместо этого попробуйте postDelayed:

img.postDelayed(new Runnable() {
    public void run() {
        TranslateAnimation anim = new TranslateAnimation(0,-300,0,0);
        anim.setDuration(2000);
        img.startAnimation(anim);
    }
}, 5000);
0 голосов
/ 18 февраля 2012
    Thread timer = new Thread() {
        public void run(){
            try{
                sleep(5000);
            } catch (InterruptedException e){
                e.printStackTrace();
            }finally{
                Intent openStartingPoint = new Intent("your.package2.test3.A New Class");
                startActivity(openStartingPoint);
            }
        }
    };
    timer.start();
0 голосов
/ 18 февраля 2012

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

...