在Android中制作gridView中心

时间:2013-03-22 12:30:41

标签: java android

<?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>

2 个答案:

答案 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"