2

我有几个以编程方式创建的 imageView,所以这是我的问题,如果我想将一个 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);
4

2 回答 2

4

所以这最终帮助了我,我会把它放在它可能对其他人有用的地方。

你可以使用这个:http: //developer.android.com/reference/android/view/View.html#bringToFront%28%29

像这样使用它

YourImageView.bringToFront();

在您创建了两个图像之后,您需要将一个放在上面。这适用于大多数视图。

于 2013-10-15T12:22:12.247 回答
2

如果你想在彼此之上绘制 ImageView,那么你应该使用FrameLayout. 这是一个像堆栈一样绘制视图的布局,第一个孩子将首先被绘制,其他的将被绘制在前一个之上。例如:

<FrameLayout
 android:layout_width="match_parent"
 android:layout_height="match_parent">
    <ImageView1 ... />
    <ImageView2 ... />
</FrameLayout>

如果你的布局是这样的,并且 ImageView1 和 ImageView2 重叠,那么 ImageView2 将被绘制在 ImageView1 之上,因为它是第二个孩子,并且是最后绘制的。

于 2013-10-14T20:07:21.930 回答