我感觉很难实现,两个小部件(比如微调器)在线性布局中彼此相邻。我的意思是两个微调器的布局高度是包裹内容,但宽度应该是第一个微调器的前半部分,屏幕的后半部分到第二个微调器。在线性布局中,它们一个接一个。我在相对布局中尝试过,但是当我给出宽度作为wrap_content时,它们彼此相邻,但是很多空间仍然是第二个微调器。我已经在很少的应用程序中看到了这个问题,但是我没有得到它。
答案 0 :(得分:8)
使用layout_weight
。这将迫使两个微调器占据每个空间的一半。
<LinearLayout
android:orientation="horizontal"
... >
<Spinner
android:layout_height="wrap_content"
android:layout_width="0dp"
android:layout_weight="1"
... />
<Spinner
android:layout_height="wrap_content"
android:layout_width="0dp"
android:layout_weight="1"
... />
</LinearLayout>
答案 1 :(得分:0)
有一天我遇到了同样的问题。我也采取了很多不同的技巧来让它发挥作用。我结束了将两个微调器放在他们自己的布局中。很奇怪,但它确实有效。
答案 2 :(得分:0)
相对布局用于放置彼此相关的视图。它与它们的尺寸无关。
对于linearLayout,将两个视图的高度/宽度(取决于布局的方向)设置为0px,将权重设置为1。这将使每个占用一半的空间。
答案 3 :(得分:0)
<?xml version="1.0" encoding="utf-8"?>
<Spinner
android:id="@+id/spinner1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:entries="@array/testArray" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/background_light"
android:orientation="horizontal" >
<Spinner
android:id="@+id/spinner2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:entries="@array/testArray" />
<Spinner
android:id="@+id/spinner3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
</LinearLayout>