Android 在一个圆内拆分大字符串

Android 在一个圆内拆分大字符串,android,string,canvas,text,geometry,Android,String,Canvas,Text,Geometry,我用trobul查看圆圈内的大文本。大体上,我指的是一些如图2所示的短语 在视图中,我在此方法中拆分字符串,按“spase”或字符串的中心拆分 public void setmText(CharSequence mText) { if(mText.length() < 11) {// it can be single line max Chars in line 11 this.isOneTextLine= true; this.mText = m

我用trobul查看圆圈内的大文本。大体上,我指的是一些如图2所示的短语

在视图中,我在此方法中拆分字符串,按“spase”或字符串的中心拆分

 public void setmText(CharSequence mText) {
    if(mText.length() < 11) {// it can be single line max Chars in line 11
        this.isOneTextLine= true;
        this.mText = mText;
    }else { // it can't be single line
        isOneTextLine = false;
        String str = mText.toString();
        if(str.contains(" ")) {
            int index = str.indexOf(" ");
            if(index < 11) {
                this.mText_second = str.substring(index + 1, str.length());
                this.mText = str.substring(0, index);
            }else {
                if(str.length() - (index+1) > 11 ) {
                    mText_second =  str.substring(str.length()/2, str.length());
                    this.mText = str.substring(0,str.length()/2) +"-";
                }else {
                    this.mText_second = str.substring(index + 1, str.length());
                    this.mText = str.substring(0, index);
                }
            }
        }else {
            mText_second =  str.substring(str.length()/2, str.length());
            this.mText = str.substring(0,str.length()/2) +"-";
        }
    }
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
//...//
if(isOneTextLine) {
        canvas.drawText(mText.toString(), mCentrX, mCentrY, textWordPaint);
    }else {
        canvas.drawText(mText.toString(), mCentrX, mCentrY, textWordPaint);
        canvas.drawText(mText_second.toString(), mCentrX, mCentrYForSecontLine, textWordPaint);
    }}