如何将gridView放置到屏幕的中心

时间:2014-09-18 02:59:27

标签: android android-layout gridview

如何将以编程方式填充的gridview放置到屏幕中心。 它总是在顶部。 如果它包含在scrollView中,我可以将gridview放到centerm。 但在这种情况下,我只能看到gridview的第一个单元格(其他不可见) XML在这里:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:background="@color/backNormal"
          android:orientation="vertical"
    >
<include layout="@layout/adview" />

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                  android:layout_width="fill_parent"
                  android:layout_height="wrap_content"
                  android:background="@color/backNormal"
                  android:orientation="vertical"
                  android:layout_gravity="center_horizontal|center_vertical"
            >

<GridView
        android:id="@+id/gridViewTopics"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:background="@color/backNormal"
        android:gravity="center"
        android:layout_gravity="center_horizontal|center_vertical"
        android:numColumns="3"
        android:stretchMode="columnWidth"
        android:verticalSpacing="5dp"
        android:horizontalSpacing="5dp"
        />
  </LinearLayout>
  </LinearLayout>

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:1)

请尝试这种方式,希望这有助于您解决问题。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/backNormal"
    android:orientation="vertical">

    <include layout="@layout/adview" />

    <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="@color/backNormal"
        android:orientation="vertical"
        android:gravity="center">

        <GridView
            android:id="@+id/gridViewTopics"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:background="@color/backNormal"
            android:gravity="center"
            android:numColumns="3"
            android:stretchMode="columnWidth"
            android:verticalSpacing="5dp"
            android:horizontalSpacing="5dp"/>
    </LinearLayout>
</LinearLayout>