您的位置:首页 > 其它

动态修改listview,spinner控件字体大小的解决办法

2012-06-07 14:29 423 查看
要修改spinner和listview中的字体大小 需要重写这2个控件的getView函数 只有这样 才能修改

需要修改这2个控件的Adapter

直接上代码

首先是listview的

记得要用红色字体部分去命名你的listview的Adapter

class SimpleAdapter
extends BaseAdapter{

Context context;

List<Map<String, Object>> dataList;

int formatlist;

String[] strings;

int[] is;

public SimpleAdapter(

Context context,

List<Map<String, Object>> dataList, int formatlist,

String[] strings, int[] is) {

this.context= context;

this.dataList = dataList;

this.formatlist = formatlist;

this.strings = strings;

this.is = is;

}

public int getCount() {

// TODO Auto-generated method stub

return dataList.size();

}

public Object getItem(int position) {

// TODO Auto-generated method stub

return dataList.get(position);

}

public long getItemId(int position) {

// TODO Auto-generated method stub

return position;

}

public View getView(int position, View convertView, ViewGroup parent) {

if(convertView==null){

LayoutInflater inflater = (LayoutInflater)cwjzViewResultDisplayActivity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

//这里的R.layout.formatlist是你自己的listview中的item的layout

convertView=inflater.inflate(R.layout.formatlist, null);

}

// 定义view,R.layout.notification是自己定义的layout文件

TextView textView2;

textView2 = (TextView) convertView.findViewById(R.id.xml_txt_categoryDetail);

textView2.setTextSize(18f);

return convertView;

}

}

接下来是spinner的 spinner和listview稍微有些不同 就是spinner多了一个getdropdownView 这个函数重写之后 修改的是你的spinner点击之后出来的

选项部分的内容字体大小 而getview修改的只是像listview中显示出来的内容

protected class SpinnerAdapter extends ArrayAdapter<String> {

Context context;

List<String> objects;

public SpinnerAdapter(Context context, int textViewResourceId,

List<String> objects) {

super(context, textViewResourceId, objects);

this.context = context;

this.objects = objects;

}

@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.get(position));

tv.setTextSize(18f);

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.get(position));

tv.setTextSize(18f);

return convertView;

}

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