我是开发新手,所以我想问这个问题,对不起,如果它是愚蠢的
我有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]);
}
}
});
}
答案 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