我有一个带有3个ImageViews的GridLayout作为孩子。 columnCount设置为3,它们应该水平均匀分布。这是XML:
<GridLayout
android:id="@+id/info_contact_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:columnCount="3"
android:rowCount="1">
<ImageView
android:id="@+id/info_empresa_facebook_contact_id"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:src="@drawable/ic_warning" />
<ImageView
android:id="@+id/info_empresa_whatsapp_contact_id"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:src="@drawable/ic_warning" />
<ImageView
android:id="@+id/info_empresa_call_id"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:src="@drawable/ic_warning" />
</GridLayout>
而不是有3个宽度相等的图像,完全适合水平空间,这就是我得到的(第一张图片很大而其他图片无法看到):
如何均匀分布网格水平内容?有3列,每个图像一列,并且网格的宽度与父图像的宽度匹配。此外,如果我移除重量,它也不起作用。图像视图的大小无关紧要,它们应该调整到网格。
答案 0 :(得分:1)
您发布的GridView
只有一行。在这种情况下,我只会使用LinearLayout
代替:
<LinearLayout
android:id="@+id/info_contact_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<ImageView
android:id="@+id/info_empresa_facebook_contact_id"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/ic_warning" />
<ImageView
android:id="@+id/info_empresa_whatsapp_contact_id"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/ic_warning" />
<ImageView
android:id="@+id/info_empresa_call_id"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/ic_warning" />
</LinearLayout>