我来自iOS背景.出于某种原因,我无法弄清楚如何将视图添加到另一个视图.
我有两个ImageViews,我以编程方式创建如下:
ImageView imageView; ImageView imageHolder;
现在,我想做这样的事情:
imageHolder.addView(imageView);
我该如何做到这一点?做了很多谷歌搜索,但没有用.
解决方法
正如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);