这是android淡入淡出动画的好方法吗?

这是android淡入淡出动画的好方法吗?,android,Android,我刚刚开始android开发,我想实现一个ImageView,它可以淡出、更改图像并重新淡入。这段代码目前正在按预期工作,但我很好奇这是否是解决问题的好方法 (new Thread(){ @Override public void run() { runOnUiThread(new Runnable() { @Override publi

我刚刚开始android开发,我想实现一个ImageView,它可以淡出、更改图像并重新淡入。这段代码目前正在按预期工作,但我很好奇这是否是解决问题的好方法

(new Thread(){
            @Override
            public void run() {
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        imageView.animate().alpha(0).setDuration(1000);
                    }
                });
                try{
                    Thread.sleep(1000);
                }catch(InterruptedException e){
                    Log.i("Ooopsie","Hey...Uhm i was kinda interrupted");
                }
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        if(bart){
                            imageView.setImageDrawable(getDrawable(R.drawable.homer));
                        }else{
                            imageView.setImageDrawable(getDrawable(R.drawable.bart));
                        }
                        bart=!bart;
                        imageView.animate().alpha(1).setDuration(2000);
                    }
                });

            }
        }).start();

与其创建线程并使用睡眠,为什么不使用开始延迟,
imageView.animate().alpha(1).setDuration(2000).setStartDelay(1000)
?最后的图像更改可以在一个完整的侦听器中完成。我同意user650881。启动延迟对于这项任务来说更好。所以。。。我试图让动画正确运行`imageView.animate().alpha(0).setDuration(1000);imageView.animate().alpha(1).setDuration(2000).setStartDelay(1000);`但是它似乎没有改变任何东西,除了创建线程和使用睡眠,为什么不使用开始延迟,
imageView.animate().alpha(1).setDuration(2000).setStartDelay(1000)
?最后的图像更改可以在一个完整的侦听器中完成。我同意user650881。启动延迟对于这项任务来说更好。所以。。。我试图让动画正确运行`imageView.animate().alpha(0).setDuration(1000);imageView.animate().alpha(1).setDuration(2000).setStartDelay(1000);`但这似乎并没有改变什么