J2ME根据屏幕大小自动分割字符串(新版,支持中英文)

来源:互联网 发布:淘宝商城歌莉娅包 编辑:程序博客网 时间:2024/06/06 09:48

新写的j2me根据屏幕大小分割字符串,同时支持中英文

public Vector ParseStr(String str){
  
  str = str.trim(); // 去除空格
  
  if (str == "") {
   return null;
  }
  
  char parseChar = '/n';
  int fontScreen = SCREENWIDTH - 20;
  int prevSign = 0;
  int strSign = 0;
  boolean isLetter = false;
  
  Vector v = new Vector();
  for(int i = 0; i < str.length();i++){

   char currChar = str.charAt(i);

   isLetter = (int)currChar < 255; // 判断是否为字母
   
   boolean isNewline = currChar == parseChar;

   if ((currChar == ' ' && isLetter) || isNewline || !isLetter){ // 记录前一个空格,并将空格检查设置为真
    prevSign = i;
   }

   if (i < str.length() - 1){ // 判断是否为最后一个字母
    if (font.stringWidth(str.substring(strSign,i + 1)) > fontScreen || isNewline){ // 如果超出规定宽度或遇换行符则进行换行
     v.addElement(str.substring(strSign,prevSign)); // 将换行字符串存入Vector中
     strSign = isLetter?prevSign + 1:prevSign; // 记录当前换行位置,如果是字母字符串尾部就将空格位置除去
    }
   }
   else{
    v.addElement(str.substring(strSign,str.length()));
   }
  }
  
  return v;
 } 

原创粉丝点击