我在制作启动板活动时遇到了这个问题。我有一个GridView
布局,其中填充了应用图标。我想把它放在屏幕上,但无论我尝试过什么都不能。如果图标不足以覆盖整个屏幕宽度,则GridView将与左侧对齐。我在GridView
布局中添加了白色背景来显示问题。
我更改了programmaticaly ImageView的大小和GridView
列的宽度以提供更多功能,因此我发现增加图像大小使其看起来居中。但我想让它集中在一起,无论图标数量或大小如何。有人可以帮忙吗?
(我也尝试使用线性布局而不是GridView
的相关性。没有区别)
GridView
布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#ffffff" >
<GridView
android:id="@+id/gridView1"
android:numColumns="auto_fit"
android:gravity="center"
android:layout_gravity="center"
android:columnWidth="70dp"
android:stretchMode="columnWidth"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" >
</GridView>
</RelativeLayout>
单一网格项布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageView
android:id="@+id/grid_item_image"
android:layout_width="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:layout_height="wrap_content" >
</ImageView>
</LinearLayout>
答案 0 :(得分:1)
对于居中在另一个布局(RelativeLayout
)的中间,请使用
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
e.g。对于GridView:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<GridView
android:id="@+id/gridView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" >
</GridView>
</RelativeLayout>
为了让您的商品始终填满整个屏幕,请使用match_parent
作为商品宽度,并使用权重。