我有几个以编程方式创建的imageViews,所以这里是我的问题,如果我想将一个imageView放在另一个上,我怎么能告诉我的应用程序哪个imageView将在顶部,以及哪一个在底部? 这就是我创建ImageViews的方法,并且工作正常。
image = new ImageView(this);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
image.setScaleType(ImageView.ScaleType.MATRIX);
image.setImageResource(R.drawable.ic_launcher);
image.setId(1);
params.setMargins(0, 0, 0, 0);
Let's get the root layout and add our ImageView
((ViewGroup) mainLayout).addView(image, params);
答案 0 :(得分:4)
所以这最终对我有所帮助,我会说它可能会对其他人有用。
您可以使用:http://developer.android.com/reference/android/view/View.html#bringToFront%28%29
只需像这样使用
YourImageView.bringToFront();
创建两个图像后,您需要将其放在顶部。这适用于大多数视图。
答案 1 :(得分:2)
如果你想在彼此之上绘制ImageViews,那么你应该使用FrameLayout
。这是一个像堆栈一样绘制视图的布局,第一个孩子将被绘制,其他孩子将被绘制在前一个孩子之上。例如:
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView1 ... />
<ImageView2 ... />
</FrameLayout>
如果您的布局是这样的,并且ImageView1和ImageView2重叠,那么ImageView2将被绘制在ImageView1上,因为它是第二个孩子并且是最后绘制的。