/**
* 根据控件宽度,计算得出每行的字符串
*/
private void parseText(){
strs.clear();
int start = 0;//行起始Index
int curLineWidth = 0;//当前行宽
for (int i = 0; i < mText.length(); i++) {
char ch = mText.charAt(i);//获取当前字符
float[] widths = new float[1];
String srt = String.valueOf(ch);
mPaint.getTextWidths(srt, widths);//获取这个字符的宽度
if (ch == '\n'){//如果是换行符,则当独一行
strs.add(mText.substring(start, i));
start = i + 1;
curLineWidth = 0;
}else{
curLineWidth += (int) (Math.ceil(widths[0]));//计算当前宽度
if (curLineWidth > mLineWidth){//直到当前行宽度大于控件宽度,截取为一行
strs.add(mText.substring(start, i));
start = i;
i--;
curLineWidth = 0;
}else{
if (i == (mText.length() - 1)){//剩余的单独一行
strs.add(mText.substring(start, mText.length()));
}
}
}
}
}