티스토리 뷰

반응형

※안드로이드 스튜디오 버전이 3.0 이상 되어야 합니다.

-> 3.0 버전 이하에서 적용하는 방법


안드로이드 스튜디오가 3.0으로 업데이트 되면서, 폰트 적용이 xml에서 가능하도록 되었습니다.


이제 간편하게 굴림체의 압박으로부터 벗어납시다.





1. 먼저 적용할 폰트를 다운 받습니다.(라이선스가 없는 것을 추천합니다.)


저는 배달의 민족 주아체(보통)을 예로 들겠습니다.


배달의 민족 폰트 다운로드





(만약, 기존에 쓰던 폰트를 안드로이드에 적용하고 싶으면 Windows 폴더 내의 Fonts 폴더에서 적용할 폰트를 골라냅니다.)






2. 안드로이드 res(리소스 폴더) 내에 font 폴더를 만들고, 해당 폰트 파일을 붙여넣기 한다.


- res오른쪽 클릭 -> new -> android resource directory 선택




다음과 같이 설정 하고 폴더를 생성 후에 폰트를 넣어준다.






3. font 폴더 내에 Font resource file을 만들고, 다음과 같이 설정


<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<font
android:font="@font/jua"
android:fontStyle="normal"
app:font="@font/jua"
app:fontStyle="normal" />
</font-family>

안의 내용에 대해 부가설명을 하자면


font 태그내에 네임스페이스 android: 로 표기한것은 API 26(8.0, 오레오)이상을 지원하며, 


네임스페이스 app: 으로  만든 것은 API 13(3.2 허니컴)까지 폭넓게 지원하기 위함이다.





4. XML 내에서 폰트 적용

<TextView
android:id="@+id/message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="폰트"
android:textSize="100sp"
android:fontFamily="@font/font_jua"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"

app:layout_constraintBottom_toBottomOf="parent" />

변경할 텍스트 뷰 태그 내에서


다음과 같이 설정한다.





적용된 것을 확인할 수 있다.












※ JAVA 코드상에서 동적으로 폰트 적용시키기 


1. API 26 이상


Typeface typeface = getResources().getFont(R.font.jua);
message.setTypeface(typeface); // messsage TextView 변수






2. API 26 이하


만약, xml에 적용하기 위해 res 폴더 내에 font 폴더를 만들었다면 지우고..


다음과 같이 Assets 폴더를 만들어 준다.





이후, 다음과 같이 Directory를 만들어 주고 font로 만들어준다. 그 폴더 안에다 폰트파일을 넣어준다.(xml은 안넣어도 됨)






코드상에선, 다음과 같이 설정해준다.


Typeface typeface = Typeface.createFromAsset(getAssets(), "font/jua.ttf"); // font 폴더내에 있는 jua.ttf 파일을 typeface로 설정
message.setTypeface(typeface); // messsage TextView 변수



반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함