我使用下面的函数来显示图像:
Bitmap imageBitmap = loadBitmap(URL);
loadBitmap()如下:
private Bitmap loadBitmap(String url) {
try {
Bitmap bm = BitmapFactory.decodeStream((InputStream)this.fetch(url));
return bm;
}
catch(Exception e) {
e.printStackTrace();
return null;
}
}
fetch() :
public Object fetch(String address) {
try {
URL url = new URL(address);
Object content = url.getContent();
return content;
}
catch(Exception e) {
e.printStackTrace();
}
return this;
}
在加载的时候我想显示加载进度或一个 load.png。并且在图像加载结束时候显示。如何实现? 我想创建函数 ProgressDialog,但是如何使用呢?
你可以使用 AsyncTask 在 PreExecute() 方法中显示 Progress Dialog,然后在 PostExecute() 方法中隐藏。
ProgressDialog prog = new ProgressDialog(this); // Create Progress Dialog
private class DownloadBitmap extends AsyncTask<Void, Integer, Void>{
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
//Display progressDialog before download starts
prog.show();
}
@Override
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
prog.hide(); //Hide Progress Dialog else use dismiss() to dismiss the dialog
}
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
/*
* Perform download and Bitmap conversion here
*
*/
return null;
}
}
再通过下面代码来调用 AsyncTask。
DownloadBitmap dd = new DownloadBitmap();
dd.execute();
fetch先写,执行完结束后让load.png消失或者dialog消失
然后在BitmapFactory.decode.....
fetch先写,执行完结束后让load.png消失或者dialog消失
然后在BitmapFactory.decode