【发布时间】:2017-09-18 09:27:03
【问题描述】:
如果适配器只生成一个项目,我是否可以知道有什么方法可以将GridView 中的项目对齐以显示在中心。如果adapter生成了两个item,很适合这个界面,但是如果只有一个item,就会显示在左边。我知道这是因为我设置了android:numColumns="2",但是有没有办法让它动态地像只生成一个项目,然后它会显示在中心。
更新我的 XML 代码:
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center"
android:layout_margin="25dp"
android:background="@android:color/darker_gray"
android:id="@+id/relativeLayout">
<RelativeLayout
android:layout_width="800dp"
android:layout_height="800dp"
android:orientation="horizontal"
android:layout_margin="20dp"
android:id="@+id/layout">
<TextView
android:text="**Recommendation For You**"
android:layout_width="800dp"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="20sp"
android:textStyle="bold"
android:id="@+id/textView15"
android:layout_gravity="center"
android:gravity="center"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
android:text="(Most people will order below food item as well!)"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="14sp"
android:layout_gravity="center"
android:gravity="center"
android:id="@+id/textView14"
android:layout_below="@+id/textView15"
android:layout_centerHorizontal="true" />
<GridView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numColumns="auto_fit"
android:padding="5dp"
android:verticalSpacing="5dp"
android:horizontalSpacing="5dp"
android:stretchMode="columnWidth"
android:layout_below="@+id/textView14"
android:layout_marginTop="5dp"
android:layout_gravity="center"
android:gravity="center"
android:layout_marginLeft="100dp"
android:layout_marginRight="100dp"
android:id="@+id/gridView" />
<TextView
android:text="(Click on the VIEW button below for more information!)"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="14sp"
android:layout_gravity="center"
android:gravity="center"
android:id="@+id/textView13"
android:layout_above="@+id/viewButton"
android:layout_centerHorizontal="true" />
<Button
android:text="View"
android:layout_width="130dp"
android:layout_height="wrap_content"
android:background="#82CAFA"
android:textSize="20sp"
android:id="@+id/viewButton"
android:layout_alignParentBottom="true"
android:layout_alignLeft="@+id/textView14"
android:layout_alignStart="@+id/textView14" />
<Button
android:text="Cancel"
android:layout_width="130dp"
android:layout_height="wrap_content"
android:id="@+id/cancelButton"
android:background="#82CAFA"
android:textSize="20sp"
android:layout_alignParentBottom="true"
android:layout_alignRight="@+id/textView14"
android:layout_alignEnd="@+id/textView14" />
</RelativeLayout>
</RelativeLayout>
【问题讨论】: