Android 在一个圆内拆分大字符串
我用trobul查看圆圈内的大文本。大体上,我指的是一些如图2所示的短语 在视图中,我在此方法中拆分字符串,按“spase”或字符串的中心拆分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
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);
}}