我有一个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>
纵向视图
景观视图
答案 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>