您的位置:首页 > 理论基础 > 计算机网络

网络图片设置为控件背景图

2017-11-29 15:14 330 查看
public static void backgroundNetwork(final View v, String url) {
if (v == null || TextUtils.isEmpty(url)) {
return;
}
new DownloadImageTask() {
@Override
protected void onPostExecute(Drawable result) {
super.onPostExecute(result);
int pTop = v.getPaddingTop();
int pBottom = v.getPaddingBottom();
int pLeft = v.getPaddingLeft();
int pRight = v.getPaddingRight();
v.setPadding(pLeft, pTop, pRight, pBottom);
v.setBackgroundDrawable(result);
}
}.execute(url);
}

private static Drawable loadImageFromNetwork(String imageUrl) {
Drawable drawable = null;
try {
// 可以在这里通过第二个参数(文件名)来判断,是否本地有此图片
drawable = Drawable.createFromStream(new URL(imageUrl).openStream(), null);
} catch (IOException e) {
Log.d("skythinking", e.getMessage());
}
if (drawable == null) {
Log.d("skythinking", "null drawable");
} else {
Log.d("skythinking", "not null drawable");
}
return drawable;
}

private static class DownloadImageTask extends AsyncTask<String, Void, Drawable> {

protected Drawable doInBackground(String... urls) {
return loadImageFromNetwork(urls[0]);
}

protected void onPostExecute(Drawable result) {
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐