如何在屏幕上居中GridView。我有GridView有4个项目,每行2个项目。我尝试使用相对布局中的填充将GridView置于Relative布局中。但我开发了多屏幕的应用程序。所以我认为硬编码填充不是好习惯。如何在多个屏幕上居中显示此网格视图?
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/gridrelativelayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="60dp"
android:paddingBottom="60dp"
android:paddingLeft="150dp"
android:paddingRight="150dp"
tools:context=".MainMenuActivity" >
<GridView
android:id="@+id/gridview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F9F9F9"
android:gravity="center"
android:horizontalSpacing="50dp"
android:numColumns="2"
android:stretchMode="columnWidth"
android:verticalSpacing="50dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
</RelativeLayout>
更新代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/gridrelativelayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="150dp"
android:paddingRight="150dp"
tools:context=".MainMenuActivity" >
<GridView
android:id="@+id/gridview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:columnWidth="20dp"
android:background="#FF0000"
android:gravity="center"
android:horizontalSpacing="50dp"
android:numColumns="2"
android:verticalSpacing="50dp"
android:layout_centerInParent = "true"
/>
</RelativeLayout>
此更新代码正确地在屏幕上显示gridView。但是看,我在相对布局中对左侧广告进行了硬编码填充。由于我想支持多个scrrens,我想使用以下代码将此填充变为动态。但它不起作用。
RelativeLayout gridrelativelayout = (RelativeLayout)findViewById(R.id.gridrelativelayout);
int pad=gridrelativelayout.getWidth()/3;
gridrelativelayout.setPadding(pad, 0, pad, 0);
答案 0 :(得分:7)
申请RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
和GridView
android:layout_centerInParent = "true"
答案 1 :(得分:0)
android:layout_centerInParent = "true"
使用GridView
。这肯定有用......
答案 2 :(得分:0)
答案 3 :(得分:0)
使用
android:layout_centerHorizontal = "true"
用于GridView。