我在屏幕底部的工具栏中有一个微调器,但微调器旁边的箭头指向下方,这是违反直觉的。有没有什么快速的方法可以翻转箭头指向上方?

android - 工具栏中android微调器上的翻转箭头-LMLPHP

如果有帮助,微调器定义如下:

<Spinner
    android:id="@+id/spinner_floors"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

行布局只是 android.R.layout.simple_spinner_dropdown_item

另一方面,有没有什么方法可以在微调器展开时将字体颜色更改为白色而不影响字体颜色?

更新

我设法使用 this answer 切换文本的颜色。我还为 this image 切换了背景,以便现在代码是
<Spinner android:id="@+id/spinner_floors"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/ic_arrow_drop_up_white_24dp" />

现在它看起来像这样:

android - 工具栏中android微调器上的翻转箭头-LMLPHP

如何将按钮向右移动?

注意:我使用的是 Android Marshmallow,API 级别 23

最佳答案

Spinner 的默认背景是 9-patch drawable ,因此它可以相应地缩放。如果要反转箭头,则必须复制可绘制对象并手动反转它。

在这里,我采用了 Lollipop1 上的微调器的背景并将其垂直翻转:



您可以复制它并将其作为 9 个补丁保存到 drawable-xxxhdpi 文件夹中,即使用扩展名 .9.png (不仅仅是 .png )。

1 [android-sdk]/platforms/android-22/data/res/drawable-xxxhdpi/spinner_mtrl_am_alpha.9.png
从 Marshmallow 开始,默认背景是 XML 可绘制对象(选择器和矢量可绘制对象)。如果您只想支持 Android 6.0 及更新版本,您可以从 Ansroid SDK 复制并修改它,使其垂直翻转。

您可以在 [android-sdk]/platforms/android-23/data/res/drawable/目录中找到 drawable。它被命名为 spinner_background_material.xml 并且取决于 control_background_40dp_material.xmlic_spinner_caret.xml

关于android - 工具栏中android微调器上的翻转箭头,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34862888/

10-11 22:39
查看更多