android - 相对布局 - 将对象放在彼此之上

问题描述 投票:0回答:3

是否可以将一个物体放在另一个物体之上?

我在该背景上有一个背景图像(ImageView),我想放置一张脸(ImageView)和另一个图像,该图像是从脸部(ImageView)出来的对话气泡。因此脸部和对话气泡都位于背景 ImageView 的顶部。

在对话气泡的顶部我想放置 TextView。

我怎么能做这样的事?

谢谢

android android-layout
3个回答
3
投票

创建一个

Relativelayout
作为父级,并将您的
ImageView
TextView
作为父级的中心,即
android:layout_centerInParent= "true"

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="200dp"
            android:layout_height="200dp"
            android:background="@color/white">
<ImageView
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:src="@color/Red"
    android:layout_centerInParent="true"/>

<ImageView
    android:layout_width="80dp"
    android:layout_height="80dp"
    android:src="@color/Blue"
    android:layout_centerInParent="true"/>

<TextView
    android:text="HELLO"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"/>

  </RelativeLayout>

2
投票

如果您在

RelativeLayout
中正确排序了子视图,您应该能够执行此操作。
RelativeLayout
按照子视图在 XML 中出现的顺序绘制子视图。这意味着 XML 中的最后一项是最后绘制的一项,因此将绘制在同一位置的其他任何项之上。通过控制子视图的顺序,将您想要的内容放在 XML 中的顶部和下方,您应该能够对项目进行排序,以便它们按您喜欢的方式显示。


0
投票

在设计面板的属性中,您可以找到一个名为“Elevation”的属性,它与布局无关。将其增加到 10 dp,您可以给顶部的一个更高的 dp。通过不同的标高,您可以通过增加或减少分层对象的标高来创建分层效果,具体取决于哪一个更位于顶部。

或者如果您想手动执行此操作,请将其放入该对象的 XML 括号中,其中值可以是大于 1dp 的任何值,

android:elevation="10dp"
© www.soinside.com 2019 - 2024. All rights reserved.