选择项目时,微调器不会突出显示

时间:2013-07-08 16:12:59

标签: java android spinner

默认情况下,当您在微调器中选择一个项目时,它会在消失前略微突出显示。

我使用以下代码将我的微调器行的颜色更改为替换颜色,并且突出显示消失。 R.layout.textviewinside和R.layout.textview不会导致这个,只是getDropDownView的@Override,因为如果我注释掉那个块,一切都会有效。

如何恢复该功能但保留行颜色?

products = new ArrayAdapter<String>(this,   R.layout.textview, thedata){
                @Override
                public View getDropDownView(int position, View convertView, ViewGroup parent) {
                    View v = super.getDropDownView(position, convertView, parent);
                    if (position % 2 == 0) { // we're on an even row
                        v.setBackgroundColor(0xffEBF4FA);//Color.BLUE)
                    } else {
                        v.setBackgroundColor(Color.WHITE);
                    }
                    ((TextView) v).setGravity(Gravity.CENTER);

                    return v;
                }
            };
            products.setDropDownViewResource(R.layout.textviewinside);

            spitem.setAdapter(products);

1 个答案:

答案 0 :(得分:1)

您不需要使用setBackgroundColor,而是需要使用setBackgroundDrawable,并使用带有按下/默认状态的xml状态列表可绘制文件。

http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList