中心横向线性布局 android
Center landscape linearlayout android
我有一个 LinearLayout(orientation=vertical) 和一个 GridView,它们都在 LinearLayout(orientation=horizontal) 中。
我想将 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);
....
将android:gravity="center_vertical|center_horizontal"
设置为id linlay
gravity
适用于子元素
layout_gravity
适用于 'on applied' 元素本身
我有一个 LinearLayout(orientation=vertical) 和一个 GridView,它们都在 LinearLayout(orientation=horizontal) 中。
我想将 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);
....
将android:gravity="center_vertical|center_horizontal"
设置为id linlay
gravity
适用于子元素
layout_gravity
适用于 'on applied' 元素本身