在其他图像视图之上显示一个图像视图?

Showing one imageview above others?

我想在其他图像视图或视图上方显示一个图像视图。就像下图一样。

为了实现这个我写了代码

<LinearLayout
        android:id="@+id/linear_restaurent_info"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight=".35"
        android:background="@color/white"
        android:orientation="vertical" >

        <FrameLayout
            android:id="@+id/framelayout"
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

            <ImageView
                android:id="@+id/frameImage"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_gravity="start"
                android:src="@drawable/demo_pics" />

            <ImageView
                android:id="@+id/imageView_restaurent_pic"
                android:layout_width="70dp"
                android:layout_height="55dp"
                android:layout_gravity="bottom"
                android:layout_marginBottom="-20dp"
                android:layout_marginLeft="10dp"
                android:src="@drawable/icon_search" />
        </FrameLayout>
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight=".15"
        android:orientation="vertical" >

        <!-- android:background="@color/Orange" -->

        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" >

            <TextView
                android:id="@+id/restaurent_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="10dp"
                android:text="Laziz"
                android:textColor="@color/list_restaurent_name_text" />

            <TextView
                android:id="@+id/restaurent_address"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/restaurent_name"
                android:layout_below="@+id/restaurent_name"
                android:layout_marginTop="10dp"
                android:singleLine="true"
                android:paddingLeft="10dp"
                android:text="151 Radford Road, Nottingham, NG7"
                android:textColor="@color/list_restaurent_name_text" />
        </RelativeLayout>
    </LinearLayout>

却达不到想要的效果。

我的输出如下所示。任何建议表示赞赏。

有你的答案:Placing/Overlapping(z-index) a view above another view in android 您不能为此使用 LinearLayout,但可以使用 FrameLayout。在 FrameLayout 中,z-index 由添加项目的顺序定义。感谢@kcoppock

我认为您应该尝试相对布局...因为通过使用它您可以放置​​ android:layout_above="@+id/yourImageIdwhichYouWantToAboveFromAnImage" 我希望通过使用这个解决你的问题。!

您必须使用 RelativeLayout that gives you many properties 来定位您的观点。 因此,在我看来,您所要做的就是更改视图的架构,以便正确地重新对齐它们。

给你。你需要在这里调整一些代码`

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="300dp"
    android:background="#FFFFFF">

    <ImageView
        android:id="@+id/imgCake"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:src="@drawable/image_cake" />

    <ImageView
        android:layout_width="150dp"
        android:layout_height="100dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginBottom="55dp"
        android:src="@drawable/img_laziz"
        android:id="@+id/imgLaziz" />


    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Laziz"
        android:textColor="#000000"
        android:textSize="28sp"
        android:layout_below="@+id/imgCake"
        android:layout_toRightOf="@+id/imgLaziz"
        android:layout_toEndOf="@+id/imgLaziz"
        android:layout_marginLeft="52dp"
        android:layout_marginStart="52dp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="151 Radford Rasd Nott"
        android:textColor="#000000"
        android:textSize="18sp"
        android:layout_below="@+id/textView"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />

</RelativeLayout>

`