標籤:
動態添加spinner 控制項
Spinner s = new Spinner(this);String []items={"自己定義的要顯示的數組"};my_SpinnerAdapter array_adapter =new my_SpinnerAdapter(this, android.R.layout.simple_spinner_item, items);array_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);s.setAdapter(array_adapter);
用內部類 改寫ArrayAdapter
class my_SpinnerAdapter extends ArrayAdapter<String> { Context context; String [] objects; public my_SpinnerAdapter(Context context, int textViewResourceId, String[] items) { super(context, textViewResourceId, items); this.context = context; this.objects = items; } @Override public View getDropDownView(int position, View convertView, ViewGroup parent) { // 這個函數修改的是spinner點擊之後出來的選擇的部分的字型大小和方式 if (convertView == null) { LayoutInflater inflater = LayoutInflater.from(context); convertView = inflater.inflate(android.R.layout.simple_spinner_dropdown_item, parent, false); } //這裡使用的text1 直接複製過來就行 不用重新起名 否則可能找不到這個文字框 是系統預設的 TextView tv = (TextView) convertView.findViewById(android.R.id.text1); tv.setText(objects[position]); tv.setTextSize(18);// 這裡實現顯示文字的設定 return convertView; } @Override public View getView(int position, View convertView, ViewGroup parent) { //這個函數修改的選擇完spinner中的東西後 顯示在螢幕上的字型的大小 if (convertView == null) { LayoutInflater inflater = LayoutInflater.from(context); convertView = inflater.inflate( android.R.layout.simple_spinner_item, parent, false); } //這裡使用的text1 直接複製過來就行 不用重新起名 否則可能找不到這個文字框 是系統預設的 TextView tv = (TextView) convertView.findViewById(android.R.id.text1); tv.setText(objects[position]); tv.setTextSize(18); return convertView; } }
Android 動態添加Spinner(.java檔案內實現) 實現 改變spinner 內文字屬性