在下面的布局中,我认为三个控件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>
答案 0 :(得分:5)
这是因为如果android:orientation
的{{1}}为LinearLayout
,则horizontal
值左右将无法正常工作。
您只能将其设置为顶部或底部。
如果android:layout_gravity's
为LinearLayout
,您可以将vertical
设置为向左或向右,但不能设置为顶部或底部。
所以,我认为你应该在这里使用layout_gravity
......