티스토리 뷰
Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.
Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.
아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.
How to set default font family for entire Android app
어떻게 안드로이드 앱 전체의 기본 글꼴 패밀리를 설정하나요?
문제 내용
I'm using the Roboto light font in my app. To set the font I've to add the android:fontFamily="sans-serif-light"
to every view. Is there any way to declare the Roboto font as default font family to entire app? I've tried like this but it didn't seem to work.
제 앱에서 Roboto 라이트 글꼴을 사용하고 있습니다. 글꼴을 설정하려면 모든 뷰에 android:fontFamily="sans-serif-light" 를 추가해야 합니다. Roboto 글꼴을 전체 앱의 기본 글꼴 모음으로 선언할 수 있는 방법이 있나요? 이런 식으로 해봤는데 안되는 것 같습니다.
<style name="AppBaseTheme" parent="android:Theme.Light"></style>
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:fontFamily">sans-serif-light</item>
</style>
높은 점수를 받은 Solution
The answer is yes.
답은 예입니다.
Global Roboto light for TextView
and Button
classes:
TextView 및 Button 클래스에 대한 글로벌 Roboto Light 설정:
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:textViewStyle">@style/RobotoTextViewStyle</item>
<item name="android:buttonStyle">@style/RobotoButtonStyle</item>
</style>
<style name="RobotoTextViewStyle" parent="android:Widget.TextView">
<item name="android:fontFamily">sans-serif-light</item>
</style>
<style name="RobotoButtonStyle" parent="android:Widget.Holo.Button">
<item name="android:fontFamily">sans-serif-light</item>
</style>
Just select the style you want from list themes.xml, then create your custom style based on the original one. At the end, apply the style as the theme of the application.
리스트 themes.xml에서 원하는 스타일을 선택한 후, 기존 스타일을 기반으로 사용자 정의 스타일을 생성합니다. 마지막으로, 스타일을 애플리케이션의 테마로 적용합니다.
<application
android:theme="@style/AppTheme" >
</application>
It will work only with built-in fonts like Roboto, but that was the question. For custom fonts (loaded from assets for example) this method will not work.
이 방법은 Roboto와 같은 내장 폰트에만 작동하며, 이것이 질문이었습니다. 자산에서 로드된 사용자 정의 폰트의 경우 이 방법은 작동하지 않습니다.
EDIT 08/13/15
If you're using AppCompat themes, remember to remove android:
prefix. For example:
만약 AppCompat 테마를 사용하는 경우, android: 접두사를 제거해야합니다. 예를 들면:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:textViewStyle">@style/RobotoTextViewStyle</item>
<item name="buttonStyle">@style/RobotoButtonStyle</item>
</style>
Note the buttonStyle
doesn't contain android:
prefix, but textViewStyle
must contain it.
buttonStyle은 android: 접두사를 포함하지 않지만 textViewStyle은 반드시 android: 접두사를 포함해야 합니다.
가장 최근 달린 Solution
It's very very very easy to do in Android Studio.
안드로이드 스튜디오에서 매우 쉽게 할 수 있습니다.
- In this method you need to verify your
minsdkveriosn
. It must needminsdkversion >=16
1. 이 방법에서는 minsdkversion이 16 이상이어야 합니다. 확인해야 합니다.
- Create "font" folder inside "res" folder. In android studio New > Folder > Font Folder.
2. "res" 폴더 내부에 "font" 폴더를 생성하세요. 안드로이드 스튜디오에서는 새로 만들기 > 폴더 > 폰트 폴더를 선택하세요.
- Upload your font file to that font folder.
3. 폰트 파일을 폰트 폴더에 업로드하세요.
- In you style.xml file, Under style in "Base application theme" add this line.
<item name="android:fontFamily">@font/ubuntubold</item>
4. style.xml 파일에서 "Base application theme"의 style 하위에 다음 라인을 추가하세요.
5. <item name="android:fontFamily">@font/ubuntubold</item>
More Details: https://coderog.com/community/threads/how-to-set-default-font-family-for-entire-android-app.72/
자세한 내용은 다음 링크를 참조해주세요:
출처 : https://stackoverflow.com/questions/16404820/how-to-set-default-font-family-for-entire-android-app
'개발 > 안드로이드' 카테고리의 다른 글
특정 호스트가 포함된 url 클릭 시 해당 앱 열기 (0) | 2023.02.01 |
---|---|
커스텀 뷰를 프로그래밍 방식으로 크기 조정하기 (0) | 2023.01.31 |
안드로이드용 차트(그래프) 모음 (0) | 2023.01.31 |
화면 회전시 안드로이드 WebView 재로드 방지하기 (0) | 2023.01.30 |
리사이클러뷰 어댑터에서 컨텍스트(Context) 가져오기 (0) | 2023.01.30 |