我有一个自定义微调器 - 在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上相同区域的屏幕截图。
答案 0 :(得分:1)
首先,可能是因为Nexus 7
和Nexus 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"