中心风景linearlayout android

时间:2015-01-14 11:46:03

标签: android android-layout

我在LinearLayout(orientation = horizo​​ntal)内有一个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>

图片enter image description here

以编程方式生成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);
         ....

1 个答案:

答案 0 :(得分:2)

android:gravity="center_vertical|center_horizontal"设为id linlay

gravity适用于子元素

layout_gravity适用于'on applied'元素本身