1. 程式人生 > >AppCompatSpinner預設值、預設選中、更改右側箭頭顏色、選項變化監聽、文字居中顯示

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<k;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檔案中無法實現