2013-10-06 4 views
0

내 응용 프로그램의 모든 TextViews, EditTexts, Buttons 등에 기본 글꼴로 Roboto 글꼴을 사용하고 싶습니다.사용자 정의 글꼴을 사용하는 스타일을 정의하는 방법

ttf 파일을 assets 폴더의 fonts 폴더에 넣었습니다. 이제 그 글꼴을 사용하기 위해 앱 스타일을 수정하고 싶습니다. 그래서, 그게 내가 한거야.

<style name="AppTheme" parent="AppBaseTheme"> 
    <item name="android:typeface">ROBOTO-REGULAR.TTF</item> 
</style> 

하지만이 오류는 컴파일러에서 반환됩니다.

String types not allowed (at 'android:typeface' with value 'ROBOTO- 
REGULAR.TTF'). 

XML을 통해 앱의 기본 글꼴을 정의 할 수 있습니까? 이 경우 무엇이 잘못 되었습니까? 미리 감사드립니다.

+0

도움이 될 수 있습니다. http://www.gadgetsaint.com/android/custom-fonts-textview-edittext-android/#.WNive2996Hs – ASP

답변

4

원하는대로 할 수 없습니다. android:typeface 특성은 열거 형이며 고정 된 수의 값을가집니다. 파일 이름을 사용하지 않습니다.

당신 할 사용자 정의 속성을 읽고 특성 포인트 글꼴 파일을로드하는 사용자 정의 TextView을 (플러스 사용자 정의 ButtonEditText 각각의 클래스에서 상속)를 구현합니다.

Roboney는 Honeycomb 이후부터 사용하기위한 것임을 명심하십시오 (또는 ICS였습니까?). Droid Sans가 시스템 전체의 기본값 인 오래된 장치에서는 조금 어색해 보입니다.

+0

감사합니다. 따라서 기본 글꼴을 그대로 사용 하시겠습니까? Btw는 ICS +이어야합니다. –

+1

음, 디자인에 달려 있습니다. 앱과 프레임 워크 내에서 일관성을 유지하는 것이 좋습니다. 반면에 Holo 스타일의 위젯을 백 포트하는 경우 Roboto 이외의 다른 것으로 위장 해 보입니다. 그것은 판단의 전화이지만 엄지 손가락의 규칙은 '사용자가 이와 같은 것을 보았습니까?' 대답이 '아니오'라면, 나는 그것을 할 아주, 아주 좋은 이유가 있어야합니다. – Delyan

+0

안녕하세요 Delyan, 당신이 제안한대로 사용자 지정 textview 및 단추를 만들었지 만 xml 파일에서 해당 textStyle을 설정하면 해당 사용자 지정보기가 굵게 표시되지 않습니다. 이 질문을 닫았지만 여전히 구현할 수있는 방법을 제안 할 수 있다면 여전히 – silwar

관련 문제