我正在一个项目中使用appcompat v21,但我不喜欢它默认带有的新下拉菜单。这个新的下拉菜单只包含一个小的向下箭头来表示其存在。我更喜欢在Android 4.x版本中使用的旧式下拉菜单,该下拉菜单具有类似EditText的特点,可以在小部件内容下方进行标记,并在右下角带有一个箭头。
如何在仍然使用appcompat v21的情况下实现此下拉菜单样式?
不需要解释,以下为示例图:
不希望出现的下拉菜单样式:
期望的下拉菜单样式:
我正在一个项目中使用appcompat v21,但我不喜欢它默认带有的新下拉菜单。这个新的下拉菜单只包含一个小的向下箭头来表示其存在。我更喜欢在Android 4.x版本中使用的旧式下拉菜单,该下拉菜单具有类似EditText的特点,可以在小部件内容下方进行标记,并在右下角带有一个箭头。
如何在仍然使用appcompat v21的情况下实现此下拉菜单样式?
不需要解释,以下为示例图:
不希望出现的下拉菜单样式:
期望的下拉菜单样式:
你可以简单地将Spinner的样式设置为Widget.Holo.Light.Spinner
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@android:style/Widget.Holo.Light.Spinner" />
这将使你恢复旧的Spinner样式,但有两个缺点:
如果您希望自定义DropDown的行,则可以通过调用Spinner的适配器上的setDropDownViewResource(int)并引用自己的布局来实现。
<Spinner
android:id="@+id/spinner_nav"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:spinnerMode="dropdown"
android:overlapAnchor="false"
style="@style/Platform.Widget.AppCompat.Spinner"/>