我在LinearLayout(orientation = horizontal)内有一个LinearLayout(orientation = vertical)和一个GridView。
我想将LL和GridView从大的中心放在中心,但无论我将重力放在哪里居中,元素都会保持在左侧。
代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/linlay"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.tppa.hangman.GameActivity" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.tppa.hangman.GameActivity" >
<TextView
android:id="@+id/incercari"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" />
<ImageView
android:id="@+id/tries6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:adjustViewBounds="true"
android:contentDescription="asd"
android:maxHeight="150dp"
android:maxWidth="150dp"
android:paddingTop="15dp"
android:src="@drawable/tries6" />
<ImageView
android:id="@+id/tries5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:adjustViewBounds="true"
android:contentDescription="asd"
android:maxHeight="150dp"
android:maxWidth="150dp"
android:paddingTop="15dp"
android:src="@drawable/tries5" />
<ImageView
android:id="@+id/tries4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:adjustViewBounds="true"
android:contentDescription="asd"
android:maxHeight="150dp"
android:maxWidth="150dp"
android:paddingTop="15dp"
android:src="@drawable/tries4" />
<ImageView
android:id="@+id/tries3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:adjustViewBounds="true"
android:contentDescription="asd"
android:maxHeight="150dp"
android:maxWidth="150dp"
android:paddingTop="15dp"
android:src="@drawable/tries3" />
<ImageView
android:id="@+id/tries2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:adjustViewBounds="true"
android:contentDescription="asd"
android:maxHeight="150dp"
android:maxWidth="150dp"
android:paddingTop="15dp"
android:src="@drawable/tries2" />
<ImageView
android:id="@+id/tries1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:adjustViewBounds="true"
android:contentDescription="asd"
android:maxHeight="150dp"
android:maxWidth="150dp"
android:paddingTop="15dp"
android:src="@drawable/tries1" />
<ImageView
android:id="@+id/tries0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:adjustViewBounds="true"
android:contentDescription="asd"
android:maxHeight="150dp"
android:maxWidth="150dp"
android:paddingTop="15dp"
android:src="@drawable/tries0" />
<TextView
android:id="@+id/guess"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" />
</LinearLayout>
<GridLayout
android:id="@+id/gridlay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:columnCount="5" >
</GridLayout>
</LinearLayout>
图片
以编程方式生成GridView的内容
for (int i = 65; i <= 90; i++) {
final char litera = (char) i;
final Button button = new Button(this);
button.setId(i);
button.setTextSize(7 * getResources().getDisplayMetrics().density);
button.setText(String.valueOf(litera));
button.setLayoutParams(new LayoutParams(50, 50));
layout.addView(button);
....
答案 0 :(得分:2)
将android:gravity="center_vertical|center_horizontal"
设为id linlay
gravity
适用于子元素
layout_gravity
适用于'on applied'元素本身