如何在Android中向ImageView添加子视图

时间:2013-10-28 19:30:16

标签: android imageview subview addsubview

我来自iOS背景。出于某种原因,我无法弄清楚如何将视图添加到另一个视图。

我有两个ImageView以编程方式创建,如下所示:

ImageView imageView;
ImageView imageHolder;

现在,我想做这样的事情:

imageHolder.addView(imageView);

我如何做到这一点?做了很多谷歌搜索,但没有用。

1 个答案:

答案 0 :(得分:10)

正如pskink所说,你只能以编程方式将视图添加到ViewGroup的内容中。您可以添加LinearLayout,例如:

LinearLayout layout = (LinearLayout)findViewById(R.id.linear_layout);
layout.addView(new EditText(context));
但是,这可能不会对您的情况有所帮助。要将图像放在另一个图像上,您可以使用Relative Layout。您通常会在XML布局文件中进行设置:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ImageView
        android:id="@+id/backgroundImage"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <ImageView
        android:id="@+id/foregroundImage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@id/backgroundImage"
        android:layout_alignLeft="@id/backgroundImage" />

</RelativeLayout>

如果您事先不知道它们将会是什么,那么您可以在代码中指定图像:

((ImageView)findViewById(R.id.backgroundImage)).setImageResource(R.drawable.someBackgroundImage);