微调高度不会改变

时间:2013-11-21 07:04:34

标签: android android-spinner

我在布局文件中声明了一个微调器。我为此设置了一个自定义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" />

然后它呈现如下:

enter image description here

另一方面,如果我像这样声明微调器:

<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" />

然后它呈现如下:

enter image description here

问题在于我是否设置了android:layout_height="45dip"android:layout_height="0dip"微调器的高度保持不变。如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

虽然您正在定义android:layout_height但由于您在视图中的限制而无法正常工作:

    android:layout_above="@+id/rewardListView"
    android:layout_below="@+id/customerRewardPointsTextView"

正如您所看到的,您将视图放在两个视图“rewardListView”和“customerRewardPointsTextView”之间。而那些视图实际上调整了“categorySpinner”视图的高度,所以无论你是给45dip还是0dip都没关系。

尝试以某种方式在“relatvielayout”中放置“categorySpinner”,以便其他视图不会影响categorySpinner的高度。