<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:background="#FFFFFF"
android:layout_gravity="center_horizontal"
android:padding="5dip" >
<GridView
android:id="@+id/homeGridView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:columnWidth="160dip"
android:adjustViewBounds="true"
android:layout_gravity="center_horizontal"
android:layout_centerInParent="true"
android:gravity="center_horizontal"
android:numColumns="2"
android:stretchMode="none"/>
</RelativeLayout>
我一直在打破如何使gridView中心水平和垂直的问题。我也附上了我的屏幕截图。 下面是我的图片代码。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:layout_gravity="center_horizontal"
android:padding="5dip" >
<ImageView
android:id="@+id/grid_item_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_centerHorizontal="true">
</ImageView>
</RelativeLayout>
答案 0 :(得分:4)
如果您不想使用TableLayout(as you says in your precedent post),那么处理GridView非常复杂(我已经失去了很多次)。 唯一的想法是我让他强制你的GridView有一个确切的宽度,即你的2个视图的总和:160dip * 2.
android:layout_width="320dip"
随意添加10dip或更多用于填充。
N.B。:我不确定这是否是最好的方式,如果这适用于每个设备。试试吧,让我知道;)。
答案 1 :(得分:1)
在你的gridview中使用这两个标签,看它是否有效
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"