在自定义控件中限制每行最大字数

    xiaoxiao2021-04-14  71

    自定义控件,每行最大字数实现方法

    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 } } }
    转载请注明原文地址: https://ju.6miu.com/read-669849.html

    最新回复(0)