GridView项目位置

时间:2012-09-03 12:36:54

标签: android android-layout android-gridview

我有GridView:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:id="@+id/frag_books_grid_view_layout"
     android:orientation="vertical">
        <GridView
            android:cacheColorHint="@color/bg_default"
            android:listSelector="@drawable/list_selector_background"
            android:id="@+id/frag_books_grid_view"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:columnWidth="120px"
            android:gravity="center"
            android:horizontalSpacing="15dp"
            android:scrollbars="none"
            android:stretchMode="columnWidth"
            />
</LinearLayout>

单个项目(放置在此网格的单元格中):

<ListView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:cacheColorHint="@color/bg_default"
    android:scrollbars="none"
    android:listSelector="@drawable/list_selector_background"
    android:layout_gravity="center_vertical|left"
    android:gravity="center_vertical|left"
    android:padding="15dp"
    android:id="@+id/frag_book_list_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:verticalSpacing="5dp"/>

外观如何:http://i.imgur.com/rhZiu.png 蓝色选择一切都很好,但单元格的内容不在其中心。 这张照片解释了我想要的内容:http://i.imgur.com/OumWu.png

1 个答案:

答案 0 :(得分:0)

除了不建议使用嵌套的可滚​​动组件外,您还要将列表视图的维度设置为match_parent。所以它不可能居中,因为它已经占据了所有可用空间。

如果要居中,首先要使listView变小(设置固定大小)。然后使用gravity =&#34; center&#34;在容器上。您还可以对容器应用统一填充,这也会使listView看起来居中。