Android:如何将微调器选择器设置为自己的图像/图标?

Ric*_*rdP 5 android coding-style spinner

我已经搜索并测试在Spinner中设置我自己的图像/图标但是我收到错误.

我有风格设置背景图像的alrady,但然后右侧的微调图标不再显示.

当我喜欢的时候,我找到一个这样的例子:

<Spinner style="@style/Spinner" android:spinnerSelector="@drawable/myspinner_selector" />
Run Code Online (Sandbox Code Playgroud)

这是myspinner_selector.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_first="true"
   android:drawable="@drawable/arrowdown"
   />    
<item android:state_middle="true" 
   android:drawable="@drawable/arrowdown"
   />       
<item android:state_last="true"
   android:drawable="@drawable/arrowdown"
   />   
<item android:state_single="true"
   android:drawable="@drawable/arrowdown"
   />
Run Code Online (Sandbox Code Playgroud)

但它是XML旋转器的第一个我得到这个错误:

No resource identifier found for attribute 'spinnerSelector' in package 'android' `main.xml`
Run Code Online (Sandbox Code Playgroud)

所有的例子我可以在互联网上使用像这样的微调器选择器的样式,但我无法让它工作,也无法spinnerSelectordeveloper.android.com上的参考指南中找到.

小智 7

我没有得到更改微调器图像的答案,但你可以做到..

  1. 将微调器的高度和宽度设置为0dp

  2. 在onClick()侦听器中创建一个按钮,并像这样调用微调器的单击操作

    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            spin.performClick();
        }
    });
    
    Run Code Online (Sandbox Code Playgroud)
  3. 更改按钮文本以匹配微调文本.

    public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {
        button.setText(items[position]);
    }
    
    Run Code Online (Sandbox Code Playgroud)
  4. 现在您可以轻松更改按钮的图像!