需要以线性布局为中心的帮助

时间:2012-09-12 08:12:10

标签: android android-layout

我有以下xml布局:

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#FF99E6"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dip"
            android:layout_marginTop="5dip"
            android:text="Was patient"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="2dip"
            android:background="#298EB5"
            android:orientation="horizontal" >
        </LinearLayout>

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="7dip"
            android:layout_marginTop="10dip"
            android:text="Hier wat extra info"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dip"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:background="#FF6633"
            android:orientation="vertical" >

            <TimePicker
                android:id="@+id/timePicker1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"

            android:background="#298EE5"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button" />

            <Button
                android:id="@+id/button2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button" />
        </LinearLayout>
    </LinearLayout>
</ScrollView>

这会产生以下输出:

enter image description here

现在我想将该日期选择器放在橙色容器中。我将属性设置为居中,但只将其置于水平位置。

我只能使用linearlayout,所以请不要使用相对布局的建议:)

我已经有一段时间了,所以任何帮助都会非常感激!

THX

5 个答案:

答案 0 :(得分:2)

删除android:layout_gravitytimepicker上的orange container,并将android:gravity="center"设置为orange container以使其居中。

android:gravity定义childs的严重性,而layout_gravity定义layout/view本身的严重性。

答案 1 :(得分:0)

尝试,

android:layout_gravity="center_vertical"

答案 2 :(得分:0)

使用此,

<LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dip"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:background="#FF6633"
            android:gravity="center"
            android:orientation="vertical" >

            <TimePicker
                android:id="@+id/timePicker1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center" />

答案 3 :(得分:0)

android:layout_gravity 儿童可以向其父母提供的标准比重常数。

android:gravity 指定如何在x-上放置对象的内容  和y轴,在对象本身内。

因此,在您的橙色LinearLayout中使用android:gravity代替android:layout_gravity

答案 4 :(得分:0)

将时间选择器的父线性布局的重力设置为中心,如下所示

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_gravity="center"
        android:layout_weight="1"
        android:background="#FF6633"
        android:gravity="center"
        android:orientation="vertical" >