Android - RelativeLayout 中的最后一个视图消失

Android - Last view in RelativeLayout disappears

我想在片段 1 按钮中显示,在这个 gridView 下面我们有另一个按钮。

一切都像这样包装在 RelativeLayout 中:

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

<Button
    android:id="@+id/gridview_bouton_new"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/creer_categorie"
    android:layout_centerHorizontal="true"></Button>

<GridView
    android:id="@+id/gridView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:horizontalSpacing="8dp"
    android:numColumns="3"
    android:verticalSpacing="8dp"
    android:padding="10dp"
    android:layout_below="@+id/gridview_bouton_new">
</GridView>

<Button
    android:id="@+id/gridview_bouton_valider"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/valider"
    android:layout_below="@+id/gridView"
    android:layout_centerHorizontal="true"></Button>

它工作正常,直到我在 gridView 中有很多项目。 6 行以上的片段可以垂直滚动,但最后一个按钮消失了!

我试图将所有内容嵌套在 ScrollView 中,但只显示第一行....

如果有人有解决方案,那将非常有帮助!!

考虑为此目的使用 RecyclerView:https://developer.android.com/guide/topics/ui/layout/recyclerview

GridView 现已弃用,不建议使用。也很有限。

另一方面,RecyclerView 使您能够动态显示任意数量的项目

您还可以使用 GridLayoutManager 实现所需的网格外观:https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/GridLayoutManager

您可以尝试使用 LinearLayout 而不是 RelativeLayout 并使用 ScrollView 作为父级。