https://soo0100.tistory.com/1108
지난 시간
안드로이드 외부 폰트 적용하는 방법을 다루어 보았습니다.
그런데, Android 8.0 (API level 26) 이후 모델부터는 하기 API를 적용하는 것을 권장하고 있습니다.
하기 개발자 사이트를 참고 바랍니다.
https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml
그럼, 위 내용을 가지고 소스에 직접 적용을 해보겠습니다.
필자는 무료 인 독도체 와 쿠키런 폰트를 준비 했습니다. 각자 원하시는 폰트 파일을 준비하시기 바랍니다.
1. res-font 폴더 를 만들고 그곳에 폰트를 넣어주자.
이렇게 추가한 폰트는 안드로이드 스튜디오에서도 미리 폰트를 확인 할 수 있습니다. 하기처럼요.
font 이름은 소문자로 해주세요 * 주의
그럼, 폰트를 앱 내에 적용 해 볼까요? 먼저 XML 으로 설정하는 방법입니다.
2. 화면 구성 XML에서 fontfamily 속성을 선택하고, 추가한 폰트를 설정한다. - 끝 -
매우 간단합니다. 위 왼쪽 미리 보기 영역에 쿠키런 볼드 체가 적용된 것을 확인할 수 있습니다.
이를 소스상에서 적용시는 하기와 같이 TextView 에 폰트 설정을 해주면 끝~
Typeface typeface = getResources().getFont(R.font.myfont);
textView.setTypeface(typeface);
참고로, 구글의 방침처럼, 4.1 버전 이상에서 Res - font 폴더를 만들어서 위와 같이 사용하기 위해서는 Support Library 를 사용해야 되며, 소스에 구현은 하기 처럼 해야한다.
The Support Library 26.0 provides support to the Fonts in XML feature on devices running Android 4.1 (API level 16) and higher.
Typeface typeface = ResourcesCompat.getFont(context, R.font.myfont);
그런데, 하나의 폰트내에 폰트 스타일(Bold, Italy ) 에 따라서 폰트를 설정하고 싶다면,,,
font 폴더내에 font-familiy 로 폰트를 묶어서 관리 할 수 있다.
이것도 간단하니 해봅시다.
1. Res-font 폴더에 폰트 관리를 위한 XML 파일을 만듭니다.
필자는 font1942 라고 이름을 지어봤습니다.
2. 해당 XML 파일을 구성합니다.
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
<font
android:fontStyle="normal"
android:fontWeight="400"
android:font="@font/lobster_regular" />
<font
android:fontStyle="italic"
android:fontWeight="400"
android:font="@font/lobster_italic" />
</font-family>
구글에서 제공하는 가이드는 위와 같습니다.
fontStyle 은 normal 과 italic 만 지원합니다.
Weight 는 글자의 굵기로 400 이 기본 이며, 900이 가장 두껍습니다.
font 에는 normal 과 italic 타입일때 보여질 폰트를 입력합니다.
해당 내용은 하기 링크를 참조 바랍니다.
https://developer.android.com/guide/topics/resources/font-resource
실제 소스에선 이렇게 구현을 해보았습니다.
android: , app: 은 각각 API 레벨 26 지원과 하위 버전 지원을 위해 (Android 4.1 (API level 16) and higher.)
사용합니다.
필자는 테스트 차원에서 쿠키런 폰트를 normal 에 독도 폰트를 italic 에 입력해보았습니다.
그렇다면, 속성 탭에서 폰트의 속성에 따라서
자동으로 font 가 보여지게 해야 겠죠? res-values-styles.xml 파일에 하기처럼 스타일을 정의합니다.
위와 같이 작업을 하면, Textappearance 속성에 사용자 스타일이 추가가 됩니다. 하기 처럼요.
그럼, Text style 을 지정해 볼까요?
Bold 와 Italic 에 따라 테스트로 설정해 놓은 쿠키 런, 독도 체가 보여지고 있습니다.
감사합니다.
'앱 만들기 > 안드로이드 study' 카테고리의 다른 글
문자열 자르기 split (4) | 2020.07.06 |
---|---|
랜덤 함수...Random() (6) | 2020.06.25 |
안드로이드 외부 폰트 적용하는 방법 (4) | 2020.06.14 |
갤러리 뷰 만들어보기 (안드로이드 스튜디오) (5) | 2020.06.11 |
custom toast 만들기 (4) | 2020.06.08 |
댓글