0

在使用 FastAdapter 的 Android 应用程序中,我试图在 RecyclerView 下方显示 3 个复选框。

这应该使用户能够按赢、输、平局过滤游戏列表。

然而,全屏高度由 RecyclerView 填充(请原谅下面的非英文文本):

应用截图

3 个复选框仅在开头显示,而数据是通过 HTTP 加载的。然后它们消失,就好像 RecyclerView 将它们推开或覆盖它们一样。

下面是我的布局文件,我该如何解决我的问题?如果有足够的宽度(即一些灵活的布局,会自动换行),我也希望 3 个复选框位于 1 行中:

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

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:scrollbars="vertical" />

    <CheckBox
        android:id="@+id/wonBox"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Wins" />

    <CheckBox
        android:id="@+id/lostBox"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Losses" />

    <CheckBox
        android:id="@+id/drawBox"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Draws" />

</LinearLayout>

更新:

到目前为止,RelativeLayout 没有运气(复选框覆盖列表):

应用截图 2

4

2 回答 2

1

编辑: 这不是最好的解决方案,但它有效。android:layout_height像这样使用

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

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerView"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="4"
        android:scrollbars="vertical" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="vertical">

        <CheckBox
            android:id="@+id/wonBox"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Wins" />

        <CheckBox
            android:id="@+id/lostBox"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Losses" />

        <CheckBox
            android:id="@+id/drawBox"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Draws" />

    </LinearLayout>

</LinearLayout>
于 2018-07-29T16:34:15.267 回答
1

使用相对布局:

<android.support.v7.widget.RecyclerView
    android:id="@+id/recyclerView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentTop="true"
    android:layout_above="@+id/llbottom"
    android:scrollbars="vertical" />

<LinearLayout
    android:id="@+id/llbottom"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:orientation="vertical">

    <CheckBox
        android:id="@+id/wonBox"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Wins" />

    <CheckBox
        android:id="@+id/lostBox"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Losses" />

    <CheckBox
        android:id="@+id/drawBox"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Draws" />

</LinearLayout>

于 2018-07-29T19:30:34.580 回答