在列表视图前面有一个浮动按钮

Have a button floating in front of a List View

我想让一个按钮永久浮动在片段中的可滚动 ListView 的顶部。我尝试过使用 FrameLayouts、LinearLayout、RelativeLayout 等,但都不起作用。

这是我正在处理的基本代码:

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<!--        New Project Button-->
<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_margin="5dp"
    android:id="@+id/fragment_profile_project_relLayoutButton">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/fragment_profile_project_newProject_button"
        android:layout_alignParentRight="true"
        android:paddingHorizontal="15dp"
        android:text="@string/project_new_project_button"
        android:background="@drawable/white_rounded_button"/>
</RelativeLayout>

<!--        List View-->
<ListView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/fragment_profile_project_listView"
    android:layout_marginBottom="50dp"/>

Android Studio 设计视图 'understands' 我正在尝试做什么,但是当我 运行 应用程序时只出现“新建项目”按钮,或者什么也没有。

有人知道如何在 ListView 前面获得一个浮动按钮吗?

谢谢,

亚历克斯

使用按钮将 ListView 移到 RelativeLayout 上方。布局中的顶部视图是布局底部的视图,因此将列表视图移动到布局文件的顶部使其成为底部视图

好吧你说

Android Studio design view 'understands', but when I run the app only the New Project button appears, or nothing

您可能需要检查列表视图设置的代码。

然而,有很多方法可以在 ListView 之上实现 FAB。最简单的一个 使用 FrameLayout 如下 -

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        ..................................../>

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:layout_margin="16dp"
        android:layout_gravity="end"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        ..................................../>

</FrameLayout>

编码愉快!