如何用图像替换 Android 中微调器的图标箭头?

Fra*_*ero 2 android

我想使用自定义图像更改 Android 中的默认微调器图标箭头。

我制作了自定义微调器(基于这个答案:How to custom a Spinner in Android,只需更改自定义值)并且它运行良好,但我无法在样式或编程方式上更改微调器的箭头。

我看到这个问题:How to Change image of a spinner但由于我没有标签,Spinner它不允许我添加属性android:spinnerSelector

如何用图像替换默认箭头图标?

提前致谢!

Huy*_*Huy 5

简短的例子:

Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
        this,
        R.layout.custom_spinner,
        ITEMS
);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)

然后为微调器创建自定义 xml(名为:custom_spinner.xml):

<?xml version="1.0" encoding="utf-8"?>
<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    style="?android:attr/spinnerItemStyle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:singleLine="true"
    android:textSize="yourTextsize"
    android:drawablePadding="paddingValueYouWant"
    android:drawableRight="@drawable/ic_arrow_down" <!--your custom icon-->
    />
Run Code Online (Sandbox Code Playgroud)

有关更多自定义微调器的信息,请关注此文章:如何以编程方式将字体自定义字体设置为微调器文本?

  • 好的,我可以使用“android:drawableRight”添加自定义下拉箭头,但现在它显示默认图标箭头和我添加的新图像图标。我怎样才能只显示第二个? (2认同)
  • 你可以为微调器提供背景`android:background="@drawable/bg"`或`android:background="@null"`,它应该是不可见的:) (2认同)