마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

텍스트뷰 내부에 들어 갈 문자의 개수 구하기 질문입니다.

–1 추천
안녕하세요? 현재의 문제때문에 3일을 소비하고 있는 안드로이드 초보자입니다.
제가 지금 하려고 하는 행동은 일련의 test app 개발로써 한글, 숫자, 영어 외 기타 문자에 따라 텍스트 뷰의 크기에 따라 평균적으로 대략 몇개의 문자가 들어 갈 수 있는지 알아내는 test app을 만들고 있습니다.

구현하던 중 많은 궁금증을 느끼게되어 px,dp,sp에 대한 간략한 이해를 했습니다.공부가 많이 되더군요.

서론이 길었습니다..
본론으로는
1. view,getText().toString과  view.toString()의 차이점
2. getTextBounds()와 MeasureText()의 차이점
3. getWidth와 getMeasureWidth의 차이점
4. 텍스트뷰에 들어 갈 수 있는 문자의 평균을 구하기 위한 방법

이 궁금합니다. 물론 textSize()에 따라서도 달라지겠지요.
그래서 구글링과 못하는 영어로API 찾아가며 해봤는데 도저히..

고수님들께서 제 막힌 벽을 허물어 주시길 간절히 바랍니다.
글자를 한글자 한글자 비교한다는 분도 계시는데 무슨뜻인지..
어떻게 비교하는지 잘 감이 잡히질 않습니다. 도움이 필요합니다.

Ps. 1 한글에서도 가 와 감의 크기가 다르다는것 알고있습니다
영어도 소문자 대문자 차이가 난다는 것도 알고 있으며
숫자에서도 차이가 나는것을 알고 있습니다.
이를 종합해서 어떻게 해야 텍스트뷰에 대략 몇개의 문자가 들어 갈 수있는지 알아내는 방법이 필요합니다.
소스도 살짝 첨부해주시면 감사하겠습니다..
Ps. 2 질문 2번을 사용하면 textSize가 변해도 값이 그대로입니다. 아마 문자열의 길이에 따라 고정되는 듯 합니다. 어떻게 해야 할까요?
실습위주 (430 포인트) 님이 2014년 7월 17일 질문
실습위주님이 2014년 7월 17일 수정

1개의 답변

+1 추천
 
채택된 답변
1. 로그 찍어보면 감이 오실겁니다. 
 
 
여기 참고하시면 차이점들을 이해하는데 도움되실겁니다.
 
 
3. getMeasureWidth -> onMeaure()에서 측정된 값을 리턴
getWidth -> right - left 값을 리턴
 
4. 말이안되는것을 구하고 있는거같네요.
자동차 트렁크에 껌을 포함한 과자를 넣는다면 평균으로 몇개 넣을 수 있나요?
이 질문에 답을 생각해보세요.
조건이 더 필요하죠?
 
 
ps2에 대한 답변 
잘못구하고 있는거같네요. TextView의 measureText하면 글자가 어떤게 들어오더라도 고정이죠.
 
글자 사이즈 구하는 법을 알려드릴께요
 
Paint pnt = new Paint();
Log.e("글자길이test",pnt.measureText("가나다라")+"");
pnt.setTextSize(pnt.getTextSize()+10);
Log.e("글자길이test",pnt.measureText("가나다라")+"");
 
로그찍힌거 확인해보세요
q1212 (26,020 포인트) 님이 2014년 7월 17일 답변
실습위주님이 2014년 7월 17일 채택됨
감사합니다! 많은 도움이 됐습니다.
평균을 구하는건 접기로 했습니다.
대신 textView를 editText로 바꾸고
editText Width = 600px;
textSize = 14sp; 라면 몇 글자가 들어가더라~ 또는
몇번째 글자에서 잘리더라~ 를 알 수 있을까요?
현재 하던 방법에서 좀 변형하면 될 것 같은데..
메소드만 알려주시면 해보겠습니다..
공부하는거니까요! 부탁드립니다..^^;
...