안녕하세요

제가 보통 text의 dim단위는 sp로 지정합니다.

어떤 텍스트나 문서를 읽어서 TextView에 뿌려주려고 하는데요.
각각의 문자의 크기를 구해서 정해진 문자만큰만 TextView에 뿌려주고
일정 크기 이상은 ...이나  <뒷장>으로 표시하려고 하는데요.

문제는 TextView의 크기는 300px인데 크기를 각 문자의 크기를 구하면
150(px일꺼라 생각합니다만,..틀렸다면 말씀 좀..) 만 넘어가도 TextView의 크기를 벗어나 버립니다.

어떻게 계산을 하면 300px의 TextView에 텍스트를 꽉차게 넣을 수 있을까요?

아래 코드는 문자의 크기 구하는 과정입니다.

String measureText = mString.getContext();
int count = 0;
float temp  = 0;
float widths[] = new float[measureText.length()];
float totallength = paint.measureText(measureText, 0, measureText.length());

if(totallength <= 300) {
context.setText(measureText);
}else {
for(count=0; count<measureText.length(); count++) {
temp = paint.measureText(measureText, 0, count);
if(temp > 250)
break;
}
context.setText(measureText.substring(0, count-1).concat(" <뒷장>"));
}


질문 하나만 더 추가할께요

사이즈 계산한 결과 같은 250인데 어떤 텍스트는 길고, 어떤 텍스트는 짧은 이유는 뭐고
대체 어떻게 해결하면 둘의 사이즈를 맞출 수 있을까요?

자세한 답변 부탁드립니다.