是否可以将一个物体放在另一个物体之上?
我在该背景上有一个背景图像(ImageView),我想放置一张脸(ImageView)和另一个图像,该图像是从脸部(ImageView)出来的对话气泡。因此脸部和对话气泡都位于背景 ImageView 的顶部。
在对话气泡的顶部我想放置 TextView。
我怎么能做这样的事?
谢谢
创建一个
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>
如果您在
RelativeLayout
中正确排序了子视图,您应该能够执行此操作。 RelativeLayout
按照子视图在 XML 中出现的顺序绘制子视图。这意味着 XML 中的最后一项是最后绘制的一项,因此将绘制在同一位置的其他任何项之上。通过控制子视图的顺序,将您想要的内容放在 XML 中的顶部和下方,您应该能够对项目进行排序,以便它们按您喜欢的方式显示。
在设计面板的属性中,您可以找到一个名为“Elevation”的属性,它与布局无关。将其增加到 10 dp,您可以给顶部的一个更高的 dp。通过不同的标高,您可以通过增加或减少分层对象的标高来创建分层效果,具体取决于哪一个更位于顶部。
或者如果您想手动执行此操作,请将其放入该对象的 XML 括号中,其中值可以是大于 1dp 的任何值,
android:elevation="10dp"