Java 连续y秒显示x个图像视图
试图得到以下结果 图像视图x显示y秒。然后,x再次不可见,并在y秒内显示不同的ImageView z。等等 我有:Java 连续y秒显示x个图像视图,java,android,multithreading,imageview,visibility,Java,Android,Multithreading,Imageview,Visibility,试图得到以下结果 图像视图x显示y秒。然后,x再次不可见,并在y秒内显示不同的ImageView z。等等 我有: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.series_onthouden); hideAllImages(); showImage(3, 2000);
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.series_onthouden);
hideAllImages();
showImage(3, 2000);
showImage(4, 1000);
}
public void showImage(int color, final int sec) {
Thread thread = new Thread() {
@Override
public void run() {
try {
Thread.sleep(sec);
} catch (InterruptedException e) {
}
runOnUiThread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < myImagebtns.length; i++) {
((ImageView) findViewById(myImagebtns[i]))
.setVisibility(View.INVISIBLE);
}
}
});
}
};
if (!thread.isAlive()){
((ImageView) findViewById(myImagebtns[color])).setVisibility(View.VISIBLE);
thread.start();
}
}
它适用于第一种颜色。。但同时也表现出第二种。当x秒后第一种颜色变为不可见时,应显示第二种颜色
ty您可以尝试使用如下示例所示的处理程序:
Handler handler = new Handler();
im1.setVisibility(View.VISIBLE);
handler.postDelayed(new Runnable() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
im1.setVisibility(View.INVISIBLE);
im2.setVisibility(View.VISIBLE);
}
});
}
},500);
其中500是事件之间的延迟
根据需要对尽可能多的图像重复postDelayed调用
希望这有帮助