如何水平居中垂直LinearLayout?

时间:2014-02-16 23:19:56

标签: android android-layout layout android-linearlayout center

我不是试图将任何视图放在中心,因为我的问题是我有一条分界线应该在中间。为了做分界线,我做了一个LinearLayout并给它一个背景色。但是,双方都有其他LinearLayout。

    <LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" 
    android:gravity="center"
    android:layout_gravity="center">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" 
        android:paddingRight="10dp"
        android:layout_gravity="center">

        <TextView 
            android:id="@+id/changed_text"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:textSize="20sp"
            android:text="@string/confidential" 
            android:gravity="left"/>

         <TextView 
            android:id="@+id/please_help_me"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:textSize="60sp"
            android:text="@string/changed_this_too" 
            android:gravity="center_horizontal"/>
    </LinearLayout>

    <LinearLayout
    android:layout_width="1.5dp"
    android:layout_height="match_parent"
    android:background="#0097ff"
    android:orientation="vertical" 
    android:layout_marginTop="10dp"  
    android:layout_gravity="center" 
    android:gravity="center"/> 

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" 
        android:paddingLeft="10dp"
        android:layout_gravity="center">

        <TextView 
            android:id="@+id/have_tried_everything"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:textSize="20sp"
            android:text="@string/indeed" 
            android:gravity="left"/>

         <TextView 
            android:id="@+id/you_are_my_last_chance"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:textSize="60sp"
            android:text="@string/yes" 
            android:gravity="center_horizontal"/>
    </LinearLayout>

</LinearLayout>

你可能会知道中间的LinearLayout是构成线的那个。 我已经改变了很多android:layout_width值以及很多android:gravity和android:layout_gravity值来尝试让它工作。但我没有得到任何东西。出于某种原因,我的分界线总是在左边,从不居中。它可能与某些android:layout_width =“wrap_content”值有关。

我查看了一些指南,例如: http://thinkandroid.wordpress.com/2010/01/14/how-to-position-views-properly-in-layouts/

但到目前为止还没有得到任何结果。

将非常感谢帮助。

1 个答案:

答案 0 :(得分:0)

尝试将布局宽度更改为0dp,并为第一个和第三个子线性布局添加1.0的布局权重。