Android网格布局 - 均匀分布单元格

时间:2015-07-08 04:32:14

标签: android android-layout android-xml android-gridlayout

我正在使用网格布局在屏幕上显示自定义视图。 我需要水平均匀地显示这些按钮以填充和适合屏幕。如果可以在行中容纳X数,则将其余部分移动到另一行。以类似的方式添加新的动态视图。

与Nexus 5上的以下图片类似enter image description here

但是当我检查ui是否有较小的屏幕时,第2列和第3列已经消失了 enter image description here

如何在网格布局中实现图标的一致均匀分布?

使用的代码:

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:columnCount="3"
android:paddingLeft="7dp"
android:paddingTop="7dp"
android:paddingBottom="7dp"
android:paddingRight="3dp"
tools:context=".MainActivityFragment">

<com.custom.myview
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_columnWeight="1"
    android:layout_margin="2dp"/>

<com.custom.myview
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_columnWeight="1"
    android:layout_margin="2dp"/>

<com.custom.myview
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_columnWeight="1"
    android:layout_margin="2dp"/>

<com.custom.myview
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_columnWeight="1"
    android:layout_margin="2dp" />

1 个答案:

答案 0 :(得分:0)

我得到了它的工作,并能够使用

根据屏幕大小调整列
<integer name="column_numbers">3</integer>

<integer name="column_numbers">2</integer>

在不同的值文件夹中,例如values-normal-hdpi或values-normal-xxhdpi

在我的布局文件中添加android:columnCount="@integer/column_numbers"以获取相应屏幕尺寸的正确列数。