AppCompatSpinner默认值、默认选中、更改右侧箭头颜色、选项变化监听、文本居中显示

1.在代码中设置spinner默认值

spinner.setSelection(2,true);
就这样一行代码,很重要 一定要加true。

2.根据值设置spinner默认选中

/**

  • 根据值, 设置spinner默认选中:
  • @param spinner
  • @param value
    */
    public static void setSpinnerItemSelectedByValue(Spinner spinner,String value){
    SpinnerAdapter apsAdapter= spinner.getAdapter(); //得到SpinnerAdapter对象
    int k= apsAdapter.getCount();
    for(int i=0;i if(value.equals(apsAdapter.getItem(i).toString())){
    spinner.setSelection(i,true);// 默认选中项
    break;
    }
    }
    }

3.更改右侧箭头颜色

更改Spinner右侧箭头颜色
重写ArrayAdapter可以修改 spinner 下来框的样式。

但是如果要单单改变spinner那个箭头的颜色应该这样:

在styles 里面添加一个新的style 可以叫 SpinnerStyle

然后在layout中让相应的spinner 引用这个theme


3.更改右侧箭头颜色的来源
作者:mas17kaworu
来源:CSDN
原文:https://blog.csdn.net/mas17kaworu/article/details/70568891
版权声明:本文为博主原创文章,转载请附上博文链接!

4.设置监听器

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView parent, View view, int position, long id) {
                TextView tv = (TextView) view;
                tv.setGravity(Gravity.CENTER_HORIZONTAL);//设置文本居中显示,在XML文件中无法实现
                //TODO选项变更要做的事
            }
            @Override
            public void onNothingSelected(AdapterView parent) {
            }
        });

5.设置文本居中显示

     spinner.setGravity(Gravity.CENTER_HORIZONTAL);//设置文本居中显示,在XML文件中无法实现

你可能感兴趣的:(android)