Android GridView格式

时间:2012-02-08 22:48:18

标签: android xamarin.android

我有一个GridView,我希望在2 x 2 GridView中成为4个大小相同的TextView。我希望TextViews在GridView各自的象限内居中。

我的第一个问题是没有任何内容。一切都吸引到左边。我的第二个问题是,虽然我可以将列宽调整为可用宽度的50%,但我无法弄清楚如何将行高调整为可用高度的50%。重量似乎只是一种方式。

<GridView  
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/MyGrid"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:padding="5dp"
   android:verticalSpacing="5dp"
   android:horizontalSpacing="10dp"
   android:numColumns="2"
   android:columnWidth="400dp"
   android:stretchMode="columnWidth"
   android:layout_weight=".5"
   android:gravity="center">  
</GridView>

纵向视图 enter image description here

景观视图 enter image description here

1 个答案:

答案 0 :(得分:1)

您可能想要的是使用TableLayout代替。 GridView类似于具有项目的ListView,但在这种情况下,您只想拥有4个项目,而不是无限期的数量。

<强> GridView的

  

GridView是一个ViewGroup,它以二维可滚动网格显示项目。使用ListAdapter将网格项自动插入到布局中。

<强> TableLayout

  

TableLayout是一个ViewGroup,它以行和列的形式显示子视图元素。

以下是一段可行的xml代码:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/MyGrid"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight=".5"
    android:gravity="center"
    android:padding="5dp"
    android:stretchColumns="0,1" >

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="Large Text"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="Large Text"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    </TableRow>

    <TableRow
        android:id="@+id/tableRow2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1" >

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="Large Text"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="Large Text"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    </TableRow>

</TableLayout>