如何使用来自远程服务器的凌空将图像背景设置为根视图(相对布局)?通常可以使用以下方法将drawable设置为背景:
RelativeLayout rLayout = (RelativeLayout) findViewById (R.id.rLayout);
Resources res = getResources(); //resource handle
Drawable drawable = res.getDrawable(R.drawable.newImage);
rLayout.setBackgroundDrawable(drawable);
但除了方法createFromPath()之外,我无法找到一种从图像网址中删除画面的方法。我无法找到如何使用凌空。
答案 0 :(得分:1)
您可以通过以下网址获取图片:
URL url = new URL(imageUrlString);
Bitmap image = BitmapFactory.decodeStream(url.openConnection().getInputStream());
然后使用您的代码将其应用于您的布局:
RelativeLayout rLayout = (RelativeLayout) findViewById (R.id.rLayout);
Drawable drawable = new BitmapDrawable(getResources(), image)
rLayout.setBackgroundDrawable(drawable);
请注意,最好在AsyncTask中执行此操作。前两行将在doInBackground()中,最后三行将在onPostExecute()中。我就是这样做的,但是我没有使用Volley,我想这会更复杂。如果你想使用Volley图像缓存,那么this tutorial适合你。