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

TextView 자동 사이즈 조절

0 추천

숫자패드와 TextView로 구현된 View가 있습니ㅏㄷ.

숫자패드를 누르면 TextView에 누른 숫자가 하나씩 적히는 형식이구요

(쉽게 말해 스마트폰의 다이얼러 기능)

여기서 문제가 발생합니다.

 

TextView를 넘어가게 되면 글자가 잘리더라구요.

그래서 TextView에 적히는 글자의 length 에 따라 TextView의 폰트사이즈를 줄이거나 늘려서 조정하였니다. (dp(dip) 사이즈로요)

물론 제가 가진 핸드폰을 기준으로 하였죠. (옵티머스 G)

그런데 다른 사람 휴대폰(갤럭시s2, 옵티머스원..등 해상도가 다른 폰)으로 보면 

이 조정한 사이즈가 아귀가 맞지않는 경우가 발생합니다.

예를들어 123456789를 입력했다면 제 폰에선 다 나오는데, 다른 폰에선 9가 잘려서 나옵니다.

폰트 사이즈를 dp기준으로 조정하였는데 말이죠..(setTextSize(dp, size) 함수를 이용하여서요.)

 

여기서 질문이 있습니다.

1. 제가 한대로 dp를 이용하여 글자를 조정했음에도 불구하고 왜 기기마다 잘려서 나올까요?

제가 알기로는 dp는 기기마다 유동적으로 바뀌는 것으로 알고있습니다..

 

2. TextView를 길이(TextView가 꽉찼을경우) 따라 자동으로 Size를 조절해주는 함수가 있을까요?

안드로이드로우 (15,740 포인트) 님이 2013년 3월 12일 질문

3개의 답변

0 추천
1. 폰트와 화면 크기가 다르기 때문입니다.

2. 없습니다. 직접 구현하셔야 합니다.
dev_아마 (9,750 포인트) 님이 2013년 3월 12일 답변
0 추천
2번은... 이미 누가 라이브러리로 만들은걸 본적이 있습니다.

 

외쿡사람이던데 별로 중요치않다고생각하여... 정리는 않해두어네요.. 근데 가독성이 너무 않좋더군요 작아지면
건방진프로그래머 (26,630 포인트) 님이 2013년 3월 12일 답변
0 추천
있습니다

AutoScaleTextView로 검색하시면 나와요
수상한i (8,050 포인트) 님이 2013년 3월 13일 답변
...