我正在使用GridLayout我的物品,我總共有 4 * 2 件物品。
我對每個專案都使用layout_rowWeight="1"和layout_columnWeight="1"。
但是,專案并沒有平均分配。前三項很大,最后一項很小,如下所示:

這是我的布局xml:
<GridLayout
android:rowCount="2"
android:columnCount="4"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@ id/qrcode_item"
android:orientation="vertical"
android:gravity="center"
android:layout_rowWeight="1"
android:layout_columnWeight="1">
<ImageView
android:layout_width="21dp"
android:layout_height="21dp"
android:src="@drawable/ic_qrcode" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="@string/qrcode_item"
android:textColor="#363636"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:id="@ id/grade_item"
android:orientation="vertical"
android:gravity="center"
android:layout_rowWeight="1"
android:layout_columnWeight="1">
<ImageView
android:layout_width="20dp"
android:layout_height="23dp"
android:src="@drawable/ic_grade" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="11dp"
android:text="@string/grade_item"
android:textColor="#363636"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:id="@ id/study_item"
android:orientation="vertical"
android:gravity="center"
android:layout_rowWeight="1"
android:layout_columnWeight="1">
<ImageView
android:layout_width="19dp"
android:layout_height="24dp"
android:src="@drawable/ic_study" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="11dp"
android:text="@string/study_item"
android:textColor="#363636"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:id="@ id/map_item"
android:orientation="vertical"
android:gravity="center"
android:layout_rowWeight="1"
android:layout_columnWeight="1">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/ic_map" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="@string/map_item"
android:textColor="#363636"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:id="@ id/calendar_item"
android:orientation="vertical"
android:gravity="center"
android:layout_rowWeight="1"
android:layout_columnWeight="1">
<ImageView
android:layout_width="22dp"
android:layout_height="22dp"
android:src="@drawable/ic_calendar" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="11dp"
android:text="@string/calendar_item"
android:textColor="#363636"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:id="@ id/network_item"
android:orientation="vertical"
android:gravity="center"
android:layout_rowWeight="1"
android:layout_columnWeight="1">
<ImageView
android:layout_width="28dp"
android:layout_height="21dp"
android:src="@drawable/ic_internet" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="@string/network_item"
android:textColor="#363636"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:id="@ id/contact_item"
android:orientation="vertical"
android:gravity="center"
android:layout_rowWeight="1"
android:layout_columnWeight="1">
<ImageView
android:layout_width="23dp"
android:layout_height="20dp"
android:src="@drawable/ic_contact" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="13dp"
android:text="@string/contact_item"
android:textColor="#363636"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:id="@ id/more_item"
android:orientation="vertical"
android:gravity="center"
android:layout_rowWeight="1"
android:layout_columnWeight="1">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/ic_more" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="@string/more_item"
android:textColor="#363636"
android:textSize="12sp" />
</LinearLayout>
</GridLayout>
uj5u.com熱心網友回復:
發生這種情況是因為您沒有為包裝器 LinearLayouts 指定寬度和高度屬性。
如果您使用 layout_rowWeight 和/或 layout_columnWeight,您還應該使用 layout_width 和 layout_height 屬性來實作行和列的均勻分布。
嘗試將這些行添加到您的每個 LinearLayouts:
android:layout_width="0dp"
android:layout_height="0dp"
添加這些行后,行和列將根據 GridLayout 的寬度和高度均勻分布。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/532389.html
