Android:有没有办法将ImageView转换为RelativeLayout

时间:2014-02-25 07:40:01

标签: android android-layout

我想将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设置为布局////

的背景

提前谢谢

4 个答案:

答案 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!