Android无需滚动条即可扩展三个gridview高度

问题描述 投票:0回答:1

我在布局中有3个不同的gridview。我想用特定值填充它们,但不滚动它们。我希望要滚动的内容只能是主要的线性布局,因此如果我移动,则将滚动所有内容,而不是单个gridview。这是我的布局代码:

<?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="wrap_content"
    android:orientation="vertical"
    android:padding="5dp">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="CHI?"
        android:textColor="@android:color/black"
        android:textSize="17dp"
        android:textStyle="bold" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="6">

        <GridView
            android:id="@+id/gridSospettati"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center"
            android:numColumns="1" />

        <GridView
            android:id="@+id/gridSospettatiCheck"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="5"
            android:gravity="center"
            android:numColumns="6"
            android:stretchMode="columnWidth" />
    </LinearLayout>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="CHE COSA?"
        android:textColor="@android:color/black"
        android:textSize="17dp"
        android:textStyle="bold" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="6">

        <GridView
            android:id="@+id/gridArmi"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center"
            android:numColumns="1" />

        <GridView
            android:id="@+id/gridArmiCheck"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="5"
            android:gravity="center"
            android:numColumns="6" />
    </LinearLayout>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="DOVE?"
        android:textColor="@android:color/black"
        android:textSize="17dp"
        android:textStyle="bold" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="6">

        <GridView
            android:id="@+id/gridStanze"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center"
            android:numColumns="1" />

        <GridView
            android:id="@+id/gridStanzeCheck"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="5"
            android:gravity="center"
            android:numColumns="6" />
    </LinearLayout>
</LinearLayout>

这是实际结果:enter image description here

您可以看到,所有3个gridview都被“剪切”,没有底值。

android gridview scroll height fill
1个回答
0
投票

您设计此布局的方法不是最佳的,因为GridView是可滚动的布局。正确的方法是使用RecyclerView作为布局的根,并设计具有row_item标头和2 TextView而不是标头下面的TableLayoutGridView

© www.soinside.com 2019 - 2024. All rights reserved.