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

TextView 외부(link) 폰트 적용 관련

0 추천

 

TextView의 글꼴을, 외부에서 link 로 받아 설정하는 방법을 구현하고자 합니다.

 

ttf,otf파일은 용량도 크고 로딩시간이 체감할 정도로 느리기에 다른방법을 생각중인데요.

아래와 같이 링크를 사용하면 될 것 같은데, 원하는 글꼴이 나오지는 않네요.

 

혹시 앱 내에서 외부폰트를 적용해보신 분이 있다면 조언 부탁드립니다.

웹뷰는 사용하지 않습니다.

 

최종적으로 Html.fromHtml을 사용하여 setText를 하려고 합니다.

 

 

<link href='https://fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>안녕하세요</link> 
개발자초심 (21,220 포인트) 님이 2016년 3월 15일 질문

3개의 답변

0 추천
용량 문제가 있으면 폰트 파일명 뒤에 mp3를 추가로 붙여서 사용해보세요.

font.ttf.mp3 이런식으로 변경해서 사용해보세요.
캬옹이 (37,920 포인트) 님이 2016년 3월 15일 답변
답변 감사합니다만 선호하지 않는 방법입니다.
mp3형식으로 변경하여 압축은 피한다지만, 텍스트 7개 바꾸는데만도 약 1.9초의 딜레이 시간이 발생됩니다..
어떻게 구현하셨길래 1.9초나 딜레이가 생기는거죠..
저도 구현한지는 오래되었지만 별 이슈가 없었는데..
폰트파일 사이즈가 엄청 큰것인가요?
3M짜리 윈도우 폰트를 입혔을때 1.9초 정도 나오네요.
구글에서 제공하는 폰트로, 한개당 13M 정도는 약 3초 이상 딜레이가 나와서
.. 보류하였습니다.
0 추천
폰트가 동적으로 변하는게 아니라면 TextView를 상속받아 생성시에 setTypeface로 폰트를 설정해서 사용하는 방법은 사용해보셨나요?
이카르테 (3,570 포인트) 님이 2016년 3월 15일 답변
TextView를 상속받기전에, 몇개의 TextView를 상대로 setTypeface로 진행을 한 결과입니다.
TextView가 이미 화면에 표시되고 있는 시점에 setTypeface가 호출될 경우 TextView 뿐만 아니라 해당 TextView와 연결되어있는 모든 View가 새로 그려지게 됩니다.(폰트에 따라서 TextView의 크기가 달라지기 때문에 그렇습니다)
속도 이슈 가 발생하고 심하면 앱이 죽어버리기도 하는 문제로 폰트 설정은 TextView가 화면에 그려지기 전에 폰트가 정해지는것이 좋습니다.
TextView를 상속받은 CustomFontTextView같은 것을 만들어서 생성시점에 폰트를 설정해서 사용해 보세요.
0 추천
OS에 내장된게 아닌 별도 폰트를 로딩해서 쓰는한 속도 문제는 피할 수 없습니다.

해당 폰트파일에서 사용하지 않는 glyph를 제거하여 파일 크기를 줄이면 로딩 속도가 약간 나아질지도 모릅니다.
익명사용자 님이 2016년 3월 15일 답변
웹앱으로 link 를 쓰지 않는이상 제한이 없지는 않을 것 같다는 결론입니다.
...