猿问

GridLayout(不是GridView)如何平均拉伸所有儿童

GridLayout(不是GridView)如何平均拉伸所有儿童

我想要一个带有按钮的2x2网格。这只是ICS,所以我尝试使用新的GridLayout给出。

下面是我布局的XML:

 <?xml version="1.0" encoding="utf-8"?><GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/favorites_grid"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#00ff00"
    android:rowCount="2"
    android:columnCount="2">
  <Button
      android:text="Cell 0"
      android:layout_row="0"
      android:layout_column="0"
      android:textSize="14dip" />
  <Button
      android:text="Cell 1"
      android:layout_row="0"
      android:layout_column="1"
      android:textSize="14dip" />

  <Button
      android:text="Cell 2"
      android:layout_row="1"
      android:layout_column="0"
      android:textSize="14dip" />
  <Button
      android:text="Cell 3"
      android:layout_row="1"
      android:layout_column="1"
      android:textSize="14dip" /></GridLayout>

问题是,对于每一行,我的视图都不是均匀的。这会给我的GridLayout右侧带来很多额外的空间。

我试着设置layout_gravity="fill_horizontal"但这只适用于最活的,刚过去的查看这一行。这意味着单元格1一直延伸到给单元格0提供足够的空间。

关于如何解决这个问题的想法?


哈士奇WWW
浏览 671回答 3
3回答

慕村225694

Appcompat21GridLayout具有列和行的权重,可以像下面这样使用这些权重来均匀地创建网格布局中的每个网格项,就像上面的图像一样。<android.support.v7.widget.GridLayoutxmlns:android="&nbsp; grid="&nbsp; layout_centerHorizontal="true"grid:alignmentMode="alignBounds"grid:columnCount="4"><Button&nbsp;android:layout_width="0dp" &nbsp;&nbsp;&nbsp;&nbsp;style="?buttonStyle" &nbsp;&nbsp;&nbsp;&nbsp;android:layout_height="0dp" &nbsp;&nbsp;&nbsp;&nbsp;android:text="-1" &nbsp;&nbsp;&nbsp;&nbsp;grid:layout_columnWeight="1" &nbsp;&nbsp;&nbsp;&nbsp;grid:layout_rowWeight="1" &nbsp;&nbsp;&nbsp;&nbsp;grid:layout_gravity="fill"/>... ... ...
随时随地看视频慕课网APP

相关分类

Android
我要回答