如何让图像显示像幻灯片放映与处理程序计时器?

时间:2015-05-24 18:30:41

标签: android

如果我使用handler我可以延迟图像在特定时间内可见/不可见。 那样:

imageuser.setImageBitmap(bitmapObject);
            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    imageuser.setImageBitmap(null);
                }
            }, 5000);

假设我有三张图片(img1,img2,img3) 和

我想首先显示“img1”5秒然后它将不可见

然后img2可见5秒然后它将是不可见的

然后img3可见5秒然后它将是不可见的

怎么做? 请详细回答我:)提前感谢:)

1 个答案:

答案 0 :(得分:0)

你只需要一个int变量,它可以显示当前状态并根据变化图像变化。像这样的东西

    int i = 1;
    android.os.Handler h = new Handler();
    Runnable r = new Runnable() {
        @Override
        public void run() {
            switch (++i){
                case 1:
                    img1.setVisibility(View.VISIBLE);
                    img2.setVisibility(View.GONE);
                    img3.setVisibility(View.GONE);
                    break;
                case 2:
                    img1.setVisibility(View.GONE);
                    img2.setVisibility(View.VISIBLE);
                    img3.setVisibility(View.GONE);
                    break;
                case 3:
                    i = 0;
                    img1.setVisibility(View.GONE);
                    img2.setVisibility(View.GONE);
                    img3.setVisibility(View.VISIBLE);
                    break;
            }
            // Run again in 5s.
            h.postDelayed(this, 5000);
        }
    };
    h.postDelayed(r, 5000)

还要确保handler,runnable和int是全局变量,因此您可以在runnable中访问它们。

相关问题