Android 动态添加Spinner(.java文件内实现) 实现 改变spinner 内文字属性


动态添加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; } }
原文地址:https://www.cnblogs.com/xiaodeyao/p/5049773.html