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

来源:互联网 发布:linux保存退出命令步骤 编辑:程序博客网 时间:2024/06/07 06:08

要修改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;
  }
  
  
 }

 

 

原创粉丝点击