Nexus 5 / 5x上不显示微调器下拉箭头

时间:2016-03-30 04:03:08

标签: android android-spinner

我有一个自定义微调器 - 在Nexus 7(Marshmallow)和Moto X 2014(Lollipop)上进行测试,一切正常。但是,当我在Nexus 5或5X​​(Marshmallow)上测试时,没有显示微调器的下拉箭头。我已经玩过各种对齐和填充,但这似乎没有什么区别。

我的微调器XML:

<Spinner
    android:id="@+id/spinner"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginRight="32dp"
    android:layout_marginLeft="32dp"/>

通过代码应用此自定义样式:

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textSize="18sp"
    android:paddingTop="0dp"
    android:paddingBottom="0dp"
    android:paddingRight="8dp"
    android:ellipsize="marquee"
    android:textColor="#FFFFFF"
    android:gravity="center"/>

编辑:查看布局相关部分的屏幕截图,显示布局边界。那是旋转器,右下角应该有一个下拉箭头。

Spinner on Nexus 5

编辑2:和Nexus 7上相同区域的屏幕截图。

Spinner on Nexus 7

3 个答案:

答案 0 :(得分:1)

首先,可能是因为Nexus 7Nexus 5之间存在宽度问题,因此请根据需要尝试添加android:minWidth="200dp"minWidth属性。

第二种选择是添加android:background属性,以便将相同的样式应用于所有设备。

android:background="@android:drawable/btn_dropdown"

如果您未来在微调器中添加下拉箭头而不会遇到问题,则可以将其设置为@null并在每个设备中进行相同的查看。

android:background="@null"

答案 1 :(得分:0)

我认为你应该在你的Spinner中添加style="@android:style/Widget.DropDownItem.Spinner"

答案 2 :(得分:0)

我有一个非常相似的问题,结果是除非您有至少32dp x 32dp的可用空间,否则旋转器箭头不会显示。

我怀疑是导致问题的TextView上的android:paddingRight="8dp"