我有GridView
,显示字母图片
会发生什么,每次在最后一行中都没有更少的字母表。
最后一行左对齐,看起来不太好
所以我想让最后一排在中心,
任何建议
我的GridView
代码:
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/grid_view"
android:layout_width="fill_parent"
android:layout_marginRight="20dp"
android:layout_marginTop="20dp"
android:layout_height="fill_parent"
android:numColumns="auto_fit"
android:columnWidth="70dp"
android:horizontalSpacing="10dp"
android:verticalSpacing="20dp"
android:gravity="center"
android:stretchMode="spacingWidthUniform" >
</GridView>
答案 0 :(得分:0)
我有同样的问题,但我使用两个网格视图管理它,第一个gridview显示除最后一行之外的行,第二个gridview显示最后一行。这是实现我需要的最简单方法。 我还没有找到更好的解决方案。期待看到一个美好而简单的方式。
答案 1 :(得分:0)
你可以尝试使用隐形元素,它不是最有效的解决方案,但很简单,你可以放两个元素,一个在开头,一个在行的末尾,让它们不可见
答案 2 :(得分:0)
对于那些仍在寻找解决方案的人,这是我的看法,请创建一个TableLayout
,然后为每个TableRow
将其权重设置为android:weightSum="4"
,不要忘记添加android:gravity="center"
有关完整代码,请查看此gist以供参考。
答案 3 :(得分:-1)
您可以将网格行居中放在相对布局中,然后将android:layout_centerHorizontal="true"
添加到字母ImageView
中。假设他们是ImageView
的。
所以你的GridView
将包含在这样的内容中:
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_cotent"
android:orientation="horizontal" >
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/grid_view"
android:layout_width="fill_parent"
android:layout_marginRight="20dp"
android:layout_marginTop="20dp"
android:layout_height="fill_parent"
android:numColumns="auto_fit"
android:columnWidth="70dp"
android:horizontalSpacing="10dp"
android:verticalSpacing="20dp"
android:gravity="center"
android:stretchMode="spacingWidthUniform" >
</GridView>
</RelativeLayout>
单个字母图像需要android:layout_centerHorizontal="true"
,如下所示:
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_centerHorizontal="true"
</ImageView>