自定义控件,每行最大字数实现方法
void drawString(Canvas canvas, String text, float x, float y, Paint paint, int m)
{
if (text != null)
{text = text.trim();
Rect rect = new Rect();
paint.setTextAlign(Align.LEFT);
int yOff = 0;
for(int i = 0; i < text.length(); i += m)//每行最多绘制m 个字符
{
String tem = "";
if(i + m < text.length())//防止溢出
{
tem = text.substring(i, i + m);
}else
{
do
{
m--;
}while(i + m >= text.length());
tem = text.substring(i, i + m);
}
canvas.drawText(tem, x, y + yOff, paint);
paint.getTextBounds(tem, 0, tem.length(), rect);
yOff = yOff + rect.height() + 5; // space between lines is 5
}
}
}