layout_gravity =“right”不在LinearLayout中将控件设置为右侧

时间:2013-07-30 00:55:54

标签: android

在下面的布局中,我认为三个控件textTotalTitle,textTotalValue和chAll将定位UI的右侧, 但事实上,三个控件仍然留在左侧,为什么?

  <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:background="#DCDCDC"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/textSMSFilter"
            style="@style/myTextAppearance"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:paddingLeft="4dip"
            android:layout_gravity="left|center_vertical"
            android:text="@string/filter" >
        </TextView>

        <Spinner
            android:id="@+id/spinnerMsgFolder"
            android:layout_width="133dp"
            android:layout_height="wrap_content"
            android:layout_gravity="left|center_vertical"
            android:gravity="center" />

        <TextView
            android:id="@+id/textTotalTitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
             android:layout_gravity="right|center_vertical"
            android:text="@string/totalAndSelectedTitle" >
        </TextView>

        <TextView
            android:id="@+id/textTotalValue"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:paddingLeft="3dip"
            android:paddingRight="2dip"
             android:layout_gravity="right|center_vertical"
            android:text="0/1" >
        </TextView>

        <CheckBox
            android:id="@+id/chAll"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
             android:layout_gravity="right|center_vertical"
            android:paddingRight="5dip" />
    </LinearLayout>

1 个答案:

答案 0 :(得分:5)

这是因为如果android:orientation的{​​{1}}为LinearLayout,则horizontal左右将无法正常工作
您只能将其设置为顶部或底部

如果android:layout_gravity'sLinearLayout,您可以将vertical 设置为向左或向右,但不能设置为顶部或底部
所以,我认为你应该在这里使用layout_gravity ......