android: 为什么文本视图不会堆叠在 FrameLayout 中的按钮上

android: Why won't a textview stack over a button in a FrameLayout

几乎每篇关于分层小部件主题的文章都指向 FrameLayouts,它们应该根据 XML 中出现的顺序堆叠。为了测试,我在 xml 中放置了一个按钮和一个 TextView,希望看到 TextView 与按钮重叠。按钮放在 textview 之前还是之后都没有关系,按钮总是在最上面。谁能看出我做错了什么?

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.jdot.testloadingfragments.MainActivity">

    <Button
        android:id="@+id/btn_test"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="10dp"
        android:text="        "
        />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:text="----------------------------------------------------------"/>


</FrameLayout>

elevation 添加到 textView 将使其显示在 Button

上方

例如

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.jdot.testloadingfragments.MainActivity">

    <Button
        android:id="@+id/btn_test"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="10dp"
        android:text="        "/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:elevation="2dp"
        android:text="----------------------------------------------------------"/>
</FrameLayout>

更多信息在这里:

FrameLayout 最适合用于显示单个项目。

如果您想在框架布局中显示多个子视图,请尝试对每个子视图使用 android:layout_gravity 属性以正确定位它们而不重叠,如果您希望视图彼此重叠,请使用高度。

了解更多信息 访问 https://developer.android.com/reference/android/widget/FrameLayout.html