Nexus 5/5x 上不显示微调器下拉箭头
Spinner dropdown arrow doesn't display on Nexus 5/5x
我有一个自定义微调器 - 在 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"/>
编辑:查看布局相关部分的屏幕截图,其中显示了布局边界。那是微调器,右边应该有一个下拉箭头。
编辑 2:以及 Nexus 7 上同一区域的屏幕截图。
我认为您应该在 Spinner
中添加 style="@android:style/Widget.DropDownItem.Spinner"
首先,这可能是因为 Nexus 7
和 Nexus 5
之间的宽度问题,因此请尝试根据需要添加 android:minWidth="200dp"
或 minWidth
属性。
第二种选择是添加 android:background
属性,这样相同的样式将应用于所有设备。
android:background="@android:drawable/btn_dropdown"
如果以后不在微调器中添加下拉箭头不会有问题,作为替代,您可以将其设置为 @null
并在每个设备中显示相同的外观。
android:background="@null"
我有一个非常相似的问题,事实证明,除非您至少有 32dp x 32dp 可用 space,否则微调器箭头不会显示。
我怀疑是 TextView 上的 android:paddingRight="8dp"
导致了问题
我有一个自定义微调器 - 在 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"/>
编辑:查看布局相关部分的屏幕截图,其中显示了布局边界。那是微调器,右边应该有一个下拉箭头。
编辑 2:以及 Nexus 7 上同一区域的屏幕截图。
我认为您应该在 Spinner
中添加style="@android:style/Widget.DropDownItem.Spinner"
首先,这可能是因为 Nexus 7
和 Nexus 5
之间的宽度问题,因此请尝试根据需要添加 android:minWidth="200dp"
或 minWidth
属性。
第二种选择是添加 android:background
属性,这样相同的样式将应用于所有设备。
android:background="@android:drawable/btn_dropdown"
如果以后不在微调器中添加下拉箭头不会有问题,作为替代,您可以将其设置为 @null
并在每个设备中显示相同的外观。
android:background="@null"
我有一个非常相似的问题,事实证明,除非您至少有 32dp x 32dp 可用 space,否则微调器箭头不会显示。
我怀疑是 TextView 上的 android:paddingRight="8dp"
导致了问题