在Center中对齐GridView项目

时间:2017-09-02 03:53:11

标签: android android-gridview

我是Android新手并开发一个Quotes Card Maker应用程序。我使用GridView显示5柱的贴纸。我无法在GridView的中心排列所有列。我已经搜索了很多并试图使它成为中心,但它始终保持在GridView的左侧,就像这个图像一样 enter image description here

My Item XML如下所示

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/lnr_sticker"
    android:layout_width="60dp"
    android:layout_height="60dp"
    android:layout_gravity="center"
    android:orientation="horizontal">

    <ImageView
        android:id="@+id/iv_image_sticker"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_gravity="center"
        android:scaleType="fitXY"
        android:visibility="visible" />
</LinearLayout>

和GridView如下所示

 <LinearLayout
    android:id="@+id/framecaregory"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@+id/second"
    android:gravity="center"
    android:layout_alignParentTop="true"
    android:layout_marginTop="?actionBarSize">

    <GridView
        android:id="@+id/gridviewcategory"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/lite_color"
        android:numColumns="5"
        android:gravity="center"
        android:layout_gravity="center"
        android:visibility="gone">

    </GridView>
</LinearLayout>

让我知道我错过了什么。非常感谢所有想帮助我的朋友。

由于

2 个答案:

答案 0 :(得分:2)

请尝试更改您的xml文件,如下所示

  <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/lnr_sticker"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >

    <ImageView
        android:id="@+id/iv_image_sticker"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_gravity="center"
        android:layout_centerInParent="true"
        android:scaleType="fitXY"
        android:src="@mipmap/ic_launcher"
        android:visibility="visible" />
</RelativeLayout>

希望这对你有帮助,如果不是让我知道......

答案 1 :(得分:0)

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/lnr_sticker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">

<ImageView
    android:id="@+id/iv_image_sticker"
    android:layout_width="60dp"
    android:layout_height="60dp"
    android:gravity="center"
    android:scaleType="fitXY"
    android:visibility="visible" />
</LinearLayout>

gridview like

<LinearLayout
android:id="@+id/framecaregory"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/second"
android:gravity="center"
android:layout_alignParentTop="true"
android:layout_marginTop="?actionBarSize">

<GridView
    android:id="@+id/gridviewcategory"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/lite_color"
    android:gravity="center"
    android:numColumns="5"
    android:stretchMode="columnWidth"
    android:layout_gravity="center"
    android:visibility="gone">

</GridView>
</LinearLayout>