如何修复GridView以保持相等的高度?

时间:2018-07-27 10:11:27

标签: android android-layout gridview

我的xml代码

 <GridView
    android:id="@+id/gridview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:columnWidth="90dp"
    android:numColumns="2"
    android:verticalSpacing="10dp"
    android:horizontalSpacing="10dp"
    android:stretchMode="columnWidth"
    android:gravity="center"
    android:layout_margin="10dp"
    />

我当前的输出;

enter image description here

我想保持网格中每个项目的宽度和高度相等。 然后,当我有更多项目时,Scroll变慢或在应用程序中被击中。

我的项目xml;

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linear_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.v7.widget.CardView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:cardBackgroundColor="#12000000"
    app:cardCornerRadius="3dp"
    app:cardPreventCornerOverlap="true"
    >
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        >
        <ImageView
            android:id="@+id/img_grid_list"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:src="@drawable/asc_logo"
            />
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:padding="5dp">
            <TextView
                android:id="@+id/txt_extension"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="16sp"
                />
            <Button
                android:id="@+id/btn_popup"
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:background="@drawable/ic_more_vert"
                android:backgroundTint="#000000"
                android:layout_gravity="end"
                style="@style/Base.Widget.AppCompat.Button.Borderless"
                />
        </LinearLayout>
    </LinearLayout>
</android.support.v7.widget.CardView>

设计中使用了Matchparent和布局权重,以使高度相等

1 个答案:

答案 0 :(得分:1)

您必须将固定高度设置为网格项目 CardView