片段中的垂直网格中心

时间:2014-10-27 16:30:34

标签: android android-fragments android-gridview

我正在尝试将中心和垂直对齐grid内的fragment元素。

这是我的xml:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/background_dark"
    tools:context="it.gn.sfa.CatalogueFragment">

    <GridView
        android:id="@+id/gridView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center_vertical"
        android:gravity="center"
        android:horizontalSpacing="10dp"
        android:numColumns="2"
        android:stretchMode="columnWidth" />

</FrameLayout>

似乎layout_gravitygravity“集中”(允许我这个诗意的许可证)网格。

添加

gridView内容的XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp"
    android:layout_marginTop="5dp"
    android:background="@android:color/background_dark"
    android:orientation="vertical">

    <ImageView
        android:id="@+id/grid_image"
        android:layout_width="match_parent"
        android:layout_height="450dp"
        android:layout_marginTop="5dp" />

    <TextView
        android:id="@+id/grid_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/grid_image"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginBottom="25dp"
        android:gravity="center"
        android:textColor="@android:color/white"
        android:textSize="24pt" />

</RelativeLayout>

我该怎么办?

1 个答案:

答案 0 :(得分:0)

网格视图的高度和宽度具有match_parent,这意味着它占据了整个父级。它可能看起来不居中,因为网格视图中的图像和文本正在捕捉到网格视图的左上角。我会在网格视图的高度和宽度上尝试wrap_content。这将导致网格视图容器仅与其中的内容(textview和图像)一样大。