中心横向线性布局 android

Center landscape linearlayout android

我有一个 LinearLayout(orientation=vertical) 和一个 GridView,它们都在 LinearLayout(orientation=horizo​​ntal) 中。

我想将 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' 元素本身