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

时间:2010-12-26 19:27:55

标签: android coding-style spinner

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

我有风格设置背景图片,但是右侧的微调器图标不再显示了。

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

<Spinner style="@style/Spinner" android:spinnerSelector="@drawable/myspinner_selector" />

这是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"
   />

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

No resource identifier found for attribute 'spinnerSelector' in package 'android' `main.xml`

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

3 个答案:

答案 0 :(得分:7)

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

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

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

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

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

答案 1 :(得分:1)

我有同样的问题。 我找到的唯一解决方法是将选择器图标与背景相结合,然后仅覆盖背景。不要使用android:spinnerSelector属性。

答案 2 :(得分:0)