小弟新学Android 在这里向大家请教了 
一大段的字符串传过来之后,我们要将其自动断行,
我在网上搜有这样一个方法  就是Paint.breakText 这个方法怎么使用  
有什么好的方法 指点一下谢谢!  

解决方案 »

  1.   

    public void onDraw(Canvas canvas)
        {
            int MARGIN = 1;
            int BORDER_WIDTH = 1;        Paint p = new Paint();
            p.setAntiAlias(true);
            p.setTextSize(12);
            p.setTypeface(Typeface.create(Typeface.SERIF, Typeface.NORMAL));        RectF rect = getRect();        float maxWidth = rect.width() - MARGIN - BORDER_WIDTH * 2;        String str = getText();
            char[] chars = str.toCharArray();
            int nextPos = p.breakText(chars, 0, chars.length, maxWidth, null);
            str = str.substring(0, nextPos);        float textX = MARGIN + BORDER_WIDTH;
            float textY = (float) (Math.abs(p.getFontMetrics().ascent) + BORDER_WIDTH + MARGIN);        canvas.drawText(str, textX, textY, p);        p.setStrokeWidth(BORDER_WIDTH);
            p.setStyle(Style.STROKE);        canvas.drawRect(rect, p);
        }
      

  2.   

    如果有问题的话,在调用Paint.setSubpixelText(true);
      

  3.   

    我用你的方法试了,可以显示一行,我想把所有的内容全部显示出来,应该怎么写了,还有,我在onDraw 中用循环 出来程序错误……