Android創建一個WebImageView
1、繼承於ImageView
public class WebImageView extends ImageView
讓這個控件具有ImageView的所有能力。2、定義成員屬性
private Drawable mDrawable;
主要就是用來在setImageBackground系列方法中進行引用背景的對象,要不要這個無所謂 。
3、實現系列的setImageBackground方法
public void setImageBackground(Drawable mDrawable) {
this.mDrawable = mDrawable;
setImageDrawable(this.mDrawable);
}
public void setImageBackground(int resultId) {
mDrawable = getResources().getDrawable(resultId);
setImageDrawable(mDrawable);
}
public void setImageBackground(String url) {
MyAsyncTask mAsyncTask = new MyAsyncTask();
mAsyncTask.execute(url);
}
private class MyAsyncTask extends AsyncTask<String, Void, Bitmap> {
@Override
protected Bitmap doInBackground(String... params) {
String url = params[0];
try {
HttpURLConnection mConnection = (HttpURLConnection) (new URL(url)).openConnection();
InputStream is = mConnection.getInputStream();
return BitmapFactory.decodeStream(is);
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
}
@Override
protected void onPostExecute(Bitmap result) {
mDrawable = new BitmapDrawable(getResources(), result);
if (mDrawable != null) {
setImageBackground(mDrawable);
}
}
}