我在布局文件中声明了一个微调器。我为此设置了一个自定义ArrayAdapter。我的问题是微调器高度比渲染视图时定义的要大得多。
例如,如果我像这样声明微调器:
<Spinner
android:id="@+id/categorySpinner"
android:layout_width="match_parent"
android:layout_height="45dip"
android:layout_above="@+id/rewardListView"
android:layout_below="@+id/customerRewardPointsTextView"
android:background="@drawable/btn_dropdown"
android:spinnerMode="dropdown" />
然后它呈现如下:
另一方面,如果我像这样声明微调器:
<Spinner
android:id="@+id/categorySpinner"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_above="@+id/rewardListView"
android:layout_below="@+id/customerRewardPointsTextView"
android:background="@drawable/btn_dropdown"
android:spinnerMode="dropdown" />
然后它呈现如下:
问题在于我是否设置了android:layout_height="45dip"
或android:layout_height="0dip"
微调器的高度保持不变。如何解决这个问题?
答案 0 :(得分:2)
虽然您正在定义android:layout_height但由于您在视图中的限制而无法正常工作:
android:layout_above="@+id/rewardListView"
android:layout_below="@+id/customerRewardPointsTextView"
正如您所看到的,您将视图放在两个视图“rewardListView”和“customerRewardPointsTextView”之间。而那些视图实际上调整了“categorySpinner”视图的高度,所以无论你是给45dip还是0dip都没关系。
尝试以某种方式在“relatvielayout”中放置“categorySpinner”,以便其他视图不会影响categorySpinner的高度。