您的位置:首页 > 移动开发 > Android开发

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

2015-12-15 22:34 691 查看
动态添加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;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: