2016-04-18 23 views
0

中心的GridView我試圖讓我的GridView的項目是相互接近 和整個GridView的佈局爲中心難度在的FrameLayout

我的GridView控件代碼:

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/bottomSheetContainer" 
    android:layout_width="match_parent" 
    android:layout_height="350dp" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:layout_centerInParent="true" 
    android:background="?attr/BottomSheetBackground" 
    android:paddingTop="@dimen/bottom_dialog_fragment_padding_top" 
    app:behavior_hideable="true" 
    app:behavior_peekHeight="32dp" 
    app:layout_behavior="@string/bottom_sheet_behavior"> 

    <GridView 
     android:id="@+id/actionGridView" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_gravity="center_horizontal" 
     android:columnWidth="90dp" 
     android:gravity="center" 
     android:numColumns="3" 
     android:stretchMode="columnWidth" /> 

</FrameLayout> 

我的GridView的項目代碼:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/actionGridViewItemContainer" 
    android:layout_width="90dp" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:background="@drawable/ripple_or_holo" 
    android:gravity="center" 
    android:layout_gravity="center" 
    android:orientation="vertical"> 

    <ImageView 
     android:id="@+id/actionGridViewItemImageView" 
     android:layout_width="50dp" 
     android:layout_height="50dp" 
     android:layout_centerHorizontal="true" 
     android:paddingLeft="20dp" 
     android:paddingRight="20dp" 
     android:src="@drawable/ic_camera" /> 

    <TextView 
     android:id="@+id/actionGridViewItemTextView" 
     style="@style/Caption.Number_text" 
     android:layout_width="90dp" 
     android:layout_height="40dp" 
     android:layout_centerHorizontal="true" 
     android:ellipsize="end" 
     android:gravity="center_horizontal|top" 
     android:maxLines="1" 
     android:paddingTop="8dp" /> 
</LinearLayout> 

我試圖與GridView控件如 爲numColumns,columnWidth時,stretchMode,轉這麼多的選項但情況是GridView左對齊。

回答

0

解決方案的工作對我來說是把一定的大小,以我的專欄的項目,所以我將能夠計算出我的全部的GridView

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/bottomSheetContainer" 
    android:layout_width="match_parent" 
    android:layout_height="350dp" 
    android:background="?attr/BottomSheetBackground" 
    android:paddingTop="@dimen/bottom_dialog_fragment_padding_top" 
    app:behavior_hideable="true" 
    app:behavior_peekHeight="32dp" 
    app:layout_behavior="@string/bottom_sheet_behavior"> 

    <GridView 
     android:id="@+id/actionGridView" 
     android:layout_width="270dp" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:columnWidth="90dp" 
     android:gravity="center" 
     android:numColumns="3" 
     android:scrollbars="vertical" 
     android:stretchMode="columnWidth" /> 

</FrameLayout>