逐个设置图片

时间:2018-05-29 17:26:52

标签: android image imageview android-imageview

我是开发新手,所以我想问这个问题,对不起,如果它是愚蠢的

我有6张不同的ImageView和6张图片,如何将图片设置为ImageView s,以便它们一点一点地出现,有一些延迟,比如1秒?现在它们同时出现在一起

private int[] images;
private int[] containers;

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    images = new int[] {R.drawable.wale,
                        R.drawable.btrfly,
                        R.drawable.cat,
                        R.drawable.dog,
                        R.drawable.fish,
                        R.drawable.dolphin};
    containers = new int[] {R.id.container1,
                            R.id.container2,
                            R.id.container3,
                            R.id.container4,
                            R.id.container5,
                            R.id.container6};

    for (int i = 0; i<containers.length; i++) {
        final ImageView temp = findViewById(containers[i]);
        temp.setImageResource(R.drawable.placeholder);

    }

    Button load = findViewById(R.id.btnLoad);
    load.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            for ( int i =0; i<containers.length; i++) {
                final ImageView temp = findViewById(containers[i]);
                temp.setImageResource(images[i]);
            }
        }
    });
}

1 个答案:

答案 0 :(得分:0)

您可以使用postDelayed()这样的final int baseDelay = 1000; final Handler handler = new Handler(); load.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { for (int i = 0; i < containers.length; i++) { final int ifinal = i; handler.postDelayed(new Runnable(){ public void run(){ final ImageView temp = findViewById(containers[ifinal]); temp.setImageResource(images[ifinal]); } }, i * baseDelay); } } });

show
相关问题