【问题标题】:GridView about GridViewGridView 关于 GridView
【发布时间】:2018-01-07 17:14:57
【问题描述】:

我需要一个 Gridview 高于另一个 GridView。

借助这个:how to set Multiple gridview in same layout in android?

我可以在一个布局中设置两个 Gridview。 我在 SwipeRefreshLayout 中都需要它们!

<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/swipe_container"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<LinearLayout android:layout_height="fill_parent"
    android:layout_width="fill_parent"
    android:baselineAligned="false">

    <GridView
        android:id="@+id/GridView1"
        android:layout_width="465dp"
        android:layout_height="101dp"
        android:layout_marginBottom="100dp"
        android:layout_weight="1"
        android:numColumns="1"
        android:padding="1dp" />

    <GridView
        android:id="@+id/GridView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="100dp"
        android:layout_weight="1"
        android:footerDividersEnabled="false"
        android:numColumns="3"
        android:padding="1dp" />

</LinearLayout>


</android.support.v4.widget.SwipeRefreshLayout>

但是它们彼此相邻,我无法将其中一个设置为另一个。 您可以在图片中看到我的问题。

如果你知道如何把一个放在另一个上面,以便两个都填满宽度,请帮帮我。

【问题讨论】:

    标签: android xml gridview android-linearlayout swiperefreshlayout


    【解决方案1】:

    更改您的 XML 属性,如下所示:

    <android.support.v4.widget.SwipeRefreshLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/swipe_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    
        <LinearLayout android:layout_height="match_parent"
            android:layout_width="match_parent"
            android:baselineAligned="false"
            android:orientation="vertical">
    
        <GridView
            android:id="@+id/GridView1"
            android:layout_width="match_parent"
            android:layout_height="101dp"
            android:numColumns="1"
            android:padding="1dp" />
    
        <GridView
            android:id="@+id/GridView2"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:footerDividersEnabled="false"
            android:numColumns="3"
            android:padding="1dp" />
    
        </LinearLayout>
    
    </android.support.v4.widget.SwipeRefreshLayout>
    

    如果您在第一个 GridView(GridView1) 中总是需要 1 列,我建议您改用 RecyclerView。

    希望对你有帮助!

    【讨论】:

    • 是的,这行得通。你能解释一下吗?我真的不明白这是如何工作的。
    • android:layout_weight="1" 将您的屏幕分成两部分。通过删除它,您的视图彼此相邻。我还添加了android:orientation="vertical" 以查看 GridView1 下的 GridView2。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多