我有一个GridView,它在较小的设备上有一个列,我想确保列始终居中,同时保持固定的列宽(即不使用stretchMode="columnWidth"
)。
以下是GridView上当前的相关属性:
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnWidth="230dp"
android:numColumns="1"
android:padding="48dp"
android:stretchMode="spacingWidth"
android:verticalSpacing="24dp"
网格看起来(有点 - 借口我的系统用户界面的时髦表示),如下所示:
基本上,该列以左对齐方式显示。有没有什么方法可以让单个列出现在屏幕的中心,理想情况下使用XML?
我已经尝试了以下内容,它们对外观没有任何影响:
GridView
包含在ViewGroup
的子类中,例如RelativeLayout
或FrameLayout
,将ViewGroup
的高度和宽度设置为match_parent和GridView
到wrap_content
layout_centerHorizontal="true"
和android:gravity="center_horizontal"
作为GridView的属性stretchMode="none"
horizontalSpacing="0dp"
答案 0 :(得分:0)
这是一个例子。我认为它会解决你的问题。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<GridView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentTop="true"
android:gravity="center_horizontal"
android:columnWidth="230dp"
android:numColumns="1"
android:padding="48dp"
android:stretchMode="spacingWidth"
android:verticalSpacing="24dp" >
</GridView>
</RelativeLayout>