我无法垂直居中GridLayout
中的行。在下面的代码中,行是“顶部对齐的”。我究竟做错了什么?到目前为止,我见过GridLayout
的所有示例都填满了整个屏幕.Eclipse中的图形布局显示GridLayout的第二行超出了我预期的范围,超出了“总计”行。
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:alignmentMode="alignBounds"
android:background="@drawable/items_bg_rectangle"
android:columnCount="3"
android:columnOrderPreserved="false"
android:useDefaultMargins="true" >
<!-- 1st row -->
<ImageView
android:id="@+id/itemUserImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="50dp"
android:layout_marginRight="8dp"
android:contentDescription="@string/itemUserImage"
android:src="@drawable/silhouette_head" />
<TextView
android:id="@+id/username"
style="@style/ItemsTextView" />
<TextView
android:id="@+id/grid02"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/nothing"
android:textSize="20sp" />
<!-- 2nd row -->
<!-- 1st column -->
<TextView
android:id="@+id/grid10"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/nothing"
android:textSize="20sp" />
<!-- 2nd column -->
<TableLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="75dp"
android:layout_marginRight="75dp" >
<TableRow
android:id="@+id/itemTableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/itemCurrentGameText"
style="@style/ItemsTextView"
android:text="@string/currentGame1TextView" />
</TableRow>
<TableRow
android:id="@+id/itemTableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/itemGame1ItemText"
style="@style/ItemsTextView"
android:text="@string/itemGame1TextView" />
<TextView
android:id="@+id/itemGame1Item"
style="@style/ItemsTextView"
android:text="@string/nothing" />
</TableRow>
<TableRow
android:id="@+id/itemTableRow3"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/itemGame2ItemText"
style="@style/ItemsTextView"
android:text="@string/itemGame2TextView" />
<TextView
android:id="@+id/itemGame2Item"
style="@style/ItemsTextView"
android:text="@string/nothing" />
</TableRow>
<TableRow
android:id="@+id/itemTableRow4"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/itemGame3ItemText"
style="@style/ItemsTextView"
android:text="@string/itemGame3TextView" />
<TextView
android:id="@+id/itemGame3Item"
style="@style/ItemsTextView"
android:text="@string/nothing" />
</TableRow>
<TableRow
android:id="@+id/itemTableRow5"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/itemBonusItemText"
style="@style/ItemsTextView"
android:text="@string/itemBonusTextView" />
<TextView
android:id="@+id/itemBonusItem"
style="@style/ItemsTextView"
android:text="@string/nothing" />
</TableRow>
<TableRow
android:id="@+id/itemTableRow6"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/itemItemTotalText"
style="@style/ItemsTextView"
android:text="@string/itemTotalTextView" />
<TextView
android:id="@+id/itemItemTotal"
style="@style/ItemsTextView"
android:text="@string/nothing" />
</TableRow>
</TableLayout>
<!-- 3rd column -->
<TableLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginRight="75dp" >
<TableRow
android:id="@+id/itemHighItemRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/itemHighItem1"
style="@style/ItemsTextView"
android:text="@string/highItems" />
</TableRow>
<TableRow
android:id="@+id/itemHighItemRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/itemHighItem2"
style="@style/ItemsTextView"
android:layout_gravity="right|center"
android:text="@string/defaultItem" />
</TableRow>
<TableRow
android:id="@+id/itemHighItemRow3"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/itemHighItem3"
style="@style/ItemsTextView"
android:layout_gravity="right|center"
android:text="@string/defaultItem" />
</TableRow>
<TableRow
android:id="@+id/itemHighItemRow4"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/itemHighItem4"
style="@style/ItemsTextView"
android:layout_gravity="right|center"
android:text="@string/defaultItem" />
</TableRow>
<TableRow
android:id="@+id/itemHighItemRow5"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/itemHighItem5"
style="@style/ItemsTextView"
android:layout_gravity="right|center"
android:text="@string/defaultItem" />
</TableRow>
<TableRow
android:id="@+id/itemHighItemRow6"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/itemHighItem6"
style="@style/ItemsTextView"
android:layout_gravity="right|center"
android:text="@string/defaultItem" />
</TableRow>
</TableLayout>
答案 0 :(得分:1)
尝试根据您的需求进行调整。祝你好运
android:id="@+id/gridview"
android:layout_width="match_parent"
android:layout_height="400dp"
android:layout_alignParentTop="true"
android:layout_marginLeft="1dp"
android:layout_marginRight="1dp"
android:horizontalSpacing="2dp"
android:listSelector="#00000000"
android:numColumns="2"
android:stretchMode="columnWidth"
android:verticalSpacing="2dp" />
答案 1 :(得分:0)
至少到目前为止,我找到的最佳解决方案是设置useDefaultMargins="false"
,然后在顶部和底部添加空白行。
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="75dp"
android:layout_marginTop="75dp"
android:alignmentMode="alignBounds"
android:background="@drawable/items_bg_rectangle"
android:columnCount="3"
android:columnOrderPreserved="false"
android:gravity="center"
android:rowCount="4"
android:useDefaultMargins="false"
tools:context=".ItemsFragment" >
<!-- 1st row blank -->
<TextView
android:id="@+id/grid10x"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_columnSpan="3"
android:text="@string/nothing"
android:textSize="20sp" />