2016-04-18 20 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>