在LinearLayout

时间:2016-07-25 08:16:20

标签: android android-layout android-linearlayout

我正在使用一些LinearLayouts,并且无法让项目居中。

这是我的代码块:

    <LinearLayout
        android:id="@+id/title_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

       <ImageView
            android:id="@+id/avatar"
            android:visibility="gone"
            android:layout_gravity="center_vertical"/>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <TextView
                android:id="@+id/title"
                android:layout_gravity="center_vertical"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:background="@drawable/touch_clear_bg" />

            <TextView
                android:id="@+id/subtitle"
                android:layout_gravity="center_vertical"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:visibility="gone"/>
        </LinearLayout>

    </LinearLayout>

所以我希望ImageView中的nested LinearLayouttitle_container 垂直居中 LinearLayout,这是一个水平^@<9b>200931350515,test1,910,420032400825443 ^@<9a>200931350515,test1,910,420032400825443 ^@<9d>200931746996,test2,910,420031390086807

我的方法不起作用的原因是什么?

3 个答案:

答案 0 :(得分:1)

你必须设置  android:gravity="center_vertical" 仅在父LinearLayout(title_container)中。

你可以在这里看到代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/title_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_vertical">

    <ImageView
        android:id="@+id/avatar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:visibility="gone" />  

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <TextView
            android:id="@+id/title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/touch_clear_bg" />

        <TextView
            android:id="@+id/subtitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:visibility="gone" />
    </LinearLayout>

</LinearLayout>

答案 1 :(得分:1)

更改

android:layout_gravity="center_vertical"

android:layout_gravity="center"

答案 2 :(得分:0)

输入

<LinearLayout android:id="@+id/title_container" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" android:gravity="center">

这会将整个布局放在中心