0

我在垂直布局中有这个水平布局。在我的水平布局中,我必须查看我想要从右到左显示的视图(微调器)。

最上面的图片是我现在得到的。底部是我所期望的。很简单。

在此处输入图像描述 我一直在尝试更改所有属性。似乎没有任何效果。改变重力,layout_gravity...

而且因为我愿意使用重量,所以我不能使用RelativeLayouts。

我应该如何解决这个问题?是否有任何解决方案最终不会弄乱我的 XML 的排列和顺序,并将第一个控件放在第二个控件之后(我讨厌那个)?

有什么明显的我不知道或遗漏的吗?提前非常感谢。

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

<TextView
android:id="@+id/tb3TxtPrice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_margin="20dp"
android:text="price"
android:textAppearance="?android:attr/textAppearanceMedium"/>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="right" 
android:layout_marginRight="20dp"
android:layout_marginLeft="20dp"
android:orientation="horizontal">

    <Spinner
    android:id="@+id/tb3SprPriceStartLimit"
    android:layout_weight="1"
    android:layout_width="0dp"
    android:layout_height="40dp"
    android:layout_gravity="right"
    android:entries="@array/priceStartLimitArray" />


    <Spinner
    android:id="@+id/tb3SprPriceEndLimit"
    android:layout_weight="1"
    android:layout_width="0dp"
    android:layout_height="40dp"
    android:layout_gravity="right"
    android:entries="@array/priceEndLimitArray" />
</LinearLayout>
4

2 回答 2

1

Spinner只需交换它们出现的两者的顺序。

<LinearLayout
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:layout_gravity="right" 
  android:layout_marginRight="20dp"
  android:layout_marginLeft="20dp"
  android:orientation="horizontal">
  <-- the 1 -->
  <Spinner
  android:id="@+id/tb3SprPriceStartLimit"
  android:layout_weight="1"
  android:layout_width="0dp"
  android:layout_height="40dp"
  android:entries="@array/priceStartLimitArray" />

  <-- the 2 -->
  <Spinner
  android:id="@+id/tb3SprPriceEndLimit"
  android:layout_weight="1"
  android:layout_width="0dp"
  android:layout_height="40dp"
  android:entries="@array/priceEndLimitArray" />
</LinearLayout>

此外,在 中设置layout_gravity=leftlayout_gravity=right方向为水平时也无用LinearLayout

于 2014-05-25T13:10:32.833 回答
0

尝试这个:

先保留你想在右边的.. 然后左边..gravity仅用于对齐文本

<Spinner
    android:id="@+id/tb3SprPriceEndLimit"
    android:layout_weight="1"
    android:layout_width="0dp"
    android:layout_height="40dp"
    android:layout_gravity="right"
    android:entries="@array/priceEndLimitArray" />

<Spinner
    android:id="@+id/tb3SprPriceStartLimit"
    android:layout_weight="1"
    android:layout_width="0dp"
    android:layout_height="40dp"
    android:layout_gravity="right"
    android:entries="@array/priceStartLimitArray" />
于 2014-05-25T12:53:11.217 回答