当我把两个旋转器放在一起时,我遇到了这个问题。这是布局xml的片段:
...
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2" >
<Spinner
android:id="@+id/x"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="top|left"
android:layout_weight="1" />
<Spinner
android:id="@+id/y"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="top|right"
android:layout_weight="1" />
</LinearLayout>
<RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content">
<ListView
android:id="@+id/z"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:cacheColorHint="#FFFFFF" >
</ListView>
...
...
结果如下:
我尝试了很多不同的东西。我尝试过更改权重,重力,将父级更改为RelativeLayout,但结果保持不变。
请帮忙!
编辑:
确定。我知道了。一些冗余,但它解决了这个问题。有点奇怪为什么这个工作和“正常的方式”没有。感谢大家的帮助。
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2" >
<Spinner
android:id="@+id/x"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1" />
<RelativeLayout
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="1" >
<Spinner
android:id="@+id/y"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true" />
</RelativeLayout>
</LinearLayout>
答案 0 :(得分:5)
这对我来说很好用:
<LinearLayout
android:id="@+id/x"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2">
<Spinner
android:id="@+id/s1"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1" />
<Spinner
android:id="@+id/s2"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
答案 1 :(得分:1)
在RelativeLayout中,您可以使用android:layout_toRightOf="@+id/x"
和android:layout_alignTop="@+id/x"
:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout>
<Spinner
android:id="@+id/x"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<Spinner
android:id="@+id/y"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/x"
android:layout_alignTop="@+id/x" />
</RelativeLayout>
(我遗漏了引力定义,因为它们似乎对你的微调器中的文本没有影响。)
答案 2 :(得分:0)
我从未见过那个确切的问题,但我确实看到你们都用它们的宽度来填充父级,这可能会发生冲突。我会用android:layout_width="0dip"
替换所有使用权重的元素来确定它的大小,这样它们实际上是相等的。
答案 3 :(得分:0)
替代解决方案对我有用。我将android:layout_gravity =“center_vertical”添加到spinner,如下所示:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginTop="10dp"
android:orientation="horizontal" >
<Spinner
android:id="@+id/custSpinner"
style="@android:style/Widget.Spinner"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
/>
<Spinner
android:id="@+id/busSpinner"
style="@android:style/Widget.Spinner"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
/>
</LinearLayout>
答案 4 :(得分:0)
//////您可以使用Spinner Widht Match Parent或0dp都可以使用
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Spinner
android:layout_marginRight="5dp"
android:id="@+id/spinner1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<Spinner
android:id="@+id/spinner2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
答案 5 :(得分:-1)
虽然我看不出这个代码有什么问题,但我认为你不需要设置引力,因为wrap_content高度会自动将linearlayout放在顶部而左右不是这种情况,因为两个微调都是屏幕的一半宽度。
所以使用:
<Spinner
android:id="@+id/x"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<Spinner
android:id="@+id/y"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />