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

2 回答 2

4

好吧,如果您不想使用 TableLayout (正如您在之前的帖子中所说),那么处理 GridView 非常复杂(我已经失去了很多次)。我唯一的想法是强制您的 GridView 具有精确的宽度,即您的 2 个视图的总和:160dip * 2。

    android:layout_width="320dip"

随意添加 10dip 或更多的填充。

注意:我不确定这是否是最好的方法,以及这是否适用于所有设备。试试看,让我知道;)。

于 2013-03-22T12:44:56.353 回答
1

在你的gridview中使用这2个标签看看它是否有效

android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
于 2013-03-22T12:34:22.523 回答