我想将ImageView
投射到RelativeLayout
。因为RelativeLayout
是父视图,并且在此中有许多图像作为子视图。所以我编写了代码来下载图像并将其设置为图像视图。但是这里的情况我想将此下载的图像设置为RelativeLayout
的父视图的背景。
RelativeLayout layout = (RelativeLayout) findViewById(R.id.bg_image);
ImageView bgImage=(ImageView) findViewById(R.id.bground_image);
downloader = new ImageDownloader();
downloader.download(item.imageurl(), bgImage);
///图像现在在bgImage中设置// /////////现在我想将bgImage设置为布局////
的背景提前谢谢
答案 0 :(得分:2)
要设置背景图片,您可以使用
之类的内容layout.setBackground(new BitmapDrawable(<your image>));
答案 1 :(得分:0)
不,这根本不可能,因为这些是完全不同的类型。
您可以将任何RelativeLayout或ImageView强制转换为View,因为这是所有视图的基类。
但是你要做的事情应该有所不同。您可以从RelativeLayout中扩充ImageView,因为它是父级。
我稍后会添加一个代码段。
更新:
// First inflate your layout
View layout = (View)findViewById(R.layout.relativelayout);
// Then inflate the imageview from the layout
ImageView imgview = (ImageView)layout.findViewById(R.id.bground_image);
// Then do your download logic with the imageview
downloader = new ImageDownloader();
downloader.download(item.imageurl(), imgview);
让我知道这是否有效;)。
答案 2 :(得分:0)
我认为最好的方法是使用 scaletype fitxy 获取与Relativelayout(可能是填充父级)相同尺寸的Imageview,并将图像设置为此,因为您正在进行延迟编码并且无法通过该relativelayout加载器.......这个fitxy将作为父布局的背景
或者另一种方法是更改您的下载代码以接受相对布局并在拥有图像后设置背景
答案 3 :(得分:0)
只需将图片添加到RelativeLayout
的背景中即可。它应该是第一个,以便在布局中落后于所有其他视图。然后,您可以将其与期望ImageView
。
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView android:id="@+id/an_image"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<!--other views go here-->
</RelativeLayout>
不,显然,你不能在这些类型之间施放。这是Java!