gpt4 book ai didi

android - 如何显示进度条

转载 作者:行者123 更新时间:2023-11-29 21:21:36 25 4
gpt4 key购买 nike

我正在尝试开发一个壁纸应用程序。有两个用于更改图像的按钮(下一个和后一个)。一切都很顺利。
现在我想在单击“下一步”更改图像时显示一段时间的进度条(图像变化不到一秒)。请给我一个关于如何去做的提示,我完全不知道。
这是我的主要 Activity 。

public class Main extends Activity { 
private ImageView hImageViewPic;
private Button iButton, gButton;
private int currentImage = 0;
int[] images = { R.drawable.r1, R.drawable.r2, R.drawable.r3, R.drawable.r4,
R.drawable.r5, R.drawable.r6, R.drawable.r7, R.drawable.r8, R.drawable.r9, R.drawable.r10 };

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.main);
hImageViewPic = (ImageView)findViewById(R.id.idImageViewPic);
iButton = (Button) findViewById(R.id.bnext);
gButton = (Button) findViewById(R.id.bprev);
//Just set one Click listener for the image
IButton.setOnClickListener(iButtonChangeImageListener);
gButton.setOnClickListener(gButtonChangeImageListener);
}

View.OnClickListener iButtonChangeImageListener = new OnClickListener() {
public void onClick(View v) {
//Increase Counter to move to next Image
currentImage++;
currentImage = currentImage % images.length;
hImageViewPic.setImageResource(images[currentImage]);
}
};
View.OnClickListener gButtonChangeImageListener = new OnClickListener() {
public void onClick(View v) {
//Increase Counter to move to next Image
currentImage--;
currentImage = currentImage % images.length;
hImageViewPic.setImageResource(images[currentImage]);
}
};
}

最佳答案

按如下方式更改您的代码:

public class Main extends Activity {
private ImageView hImageViewPic;
private Button iButton, gButton;
private int currentImage = 0;
private Handler handler = null;
private ProgressDialog progressDialog = null;
int[] images = { R.drawable.r1, R.drawable.r2, R.drawable.r3, R.drawable.r4,
R.drawable.r5, R.drawable.r6, R.drawable.r7, R.drawable.r8, R.drawable.r9, R.drawable.r10 };


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

handler = new Handler();
hImageViewPic = (ImageView)findViewById(R.id.idImageViewPic);
hImageViewPic.setImageResource(images[currentImage]);
iButton = (Button) findViewById(R.id.bnext);
gButton = (Button) findViewById(R.id.bprev);
//Just set one Click listener for the image
iButton.setOnClickListener(iButtonChangeImageListener);
gButton.setOnClickListener(gButtonChangeImageListener);
}

private void changeImage(View v){
progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setMessage("Please Wait...");
progressDialog.show();
new Thread(new Runnable() {
public void run() {
long starttime = SystemClock.currentThreadTimeMillis();
long stopwatch = 0;
//Use Handler to change your Image here
handler.post(new Runnable() {
@Override
public void run() {
if (currentImage < 0)
currentImage = images.length - 1;
currentImage = currentImage % images.length;
hImageViewPic.setImageResource(images[currentImage]);
}
});
do{
stopwatch =(SystemClock.currentThreadTimeMillis()-starttime);
if(stopwatch > 500)
break;
}while(true);
//The loop will always execute for 5000 milliseconds
progressDialog.dismiss();
}
}).start();
}
View.OnClickListener iButtonChangeImageListener = new OnClickListener() {
public void onClick(View v) {
//Increase Counter to move to next Image
currentImage++;
changeImage(v);
}
};
View.OnClickListener gButtonChangeImageListener = new OnClickListener() {
public void onClick(View v) {
//Decrease Counter to move to next Image
currentImage--;
changeImage(v);
}
};
}

关于android - 如何显示进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20661736/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com