Computer >> 컴퓨터 >  >> 프로그래밍 >> Android

Android TextView 글꼴(Font Family) 변경 방법 완벽 가이드

안드로이드 앱을 개발하다 보면 텍스트의 분위기를 바꾸고 싶을 때가 있습니다. 이번 튜토리얼에서는 TextView의 글꼴 패밀리(fontFamily) 속성을 변경하여 화면에 표시되는 텍스트 서체를 바꾸는 방법을 단계별로 살펴보겠습니다.

글꼴 패밀리란 무엇인가?

안드로이드는 기본적으로 여러 시스템 서체를 제공합니다. android:fontFamily 속성을 사용하면 별도의 폰트 파일을 추가하지 않고도 sans-serif, serif, monospace, cursive 등 다양한 스타일의 글꼴을 적용할 수 있습니다.

Step 1 — 새 프로젝트 생성하기

Android Studio를 실행하고 File ⇒ New Project 메뉴로 이동한 뒤, 새 프로젝트를 만들기 위해 필요한 모든 정보를 입력합니다. 빈 액티비티(Empty Activity) 템플릿을 선택하면 진행하기 가장 간편합니다.

Step 2 — 레이아웃 파일 작성하기

다음 코드를 res/layout/activity_main.xml 파일에 추가합니다. 두 개의 TextView를 배치하고 각각 다른 fontFamily 값을 지정했습니다.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
   xmlns:android="https://schemas.android.com/apk/res/android"
   xmlns:tools="https://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   tools:context=".MainActivity">
   <TextView
      android:id="@+id/textView1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Hello World!"
      android:fontFamily="cursive"
      android:layout_centerInParent="true"
      android:textSize="48sp" />
   <TextView
      android:id="@+id/textView2"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_below="@id/textView1"
      android:layout_marginBottom="10dp"
      android:text="Hello World"
      android:layout_centerInParent="true"
      android:fontFamily="sans-serif-black"
      android:textSize="48sp"/>
</RelativeLayout>

위 코드에서 첫 번째 TextView에는 cursive(필기체 느낌의 서체), 두 번째 TextView에는 sans-serif-black(굵은 산세리프체)가 적용되어 있습니다. 이처럼 속성 값만 바꾸면 손쉽게 서체를 비교해볼 수 있습니다.

Step 3 — MainActivity 작성하기

다음 코드를 src/MainActivity.java 파일에 추가합니다. 레이아웃만으로 글꼴을 설정하기 때문에 자바 코드는 기본 형태 그대로 유지하면 됩니다.

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
   }
}

Step 4 — AndroidManifest.xml 확인하기

다음 코드를 androidManifest.xml 파일에 추가합니다.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="app.com.sample">
   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:roundIcon="@mipmap/ic_launcher_round"
      android:supportsRtl="true"
      android:theme="@style/AppTheme">
      <activity android:name=".MainActivity">
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
      </activity>
   </application>
</manifest>

앱 실행 및 결과 확인

이제 애플리케이션을 실행해 보겠습니다. 실제 안드로이드 스마트폰을 컴퓨터와 연결했다고 가정합니다. Android Studio에서 프로젝트의 액티비티 파일 중 하나를 연 뒤, 상단 툴바의 Run 아이콘을 클릭하세요. 실행 옵션 목록에서 연결된 모바일 기기를 선택하면, 기기 화면에 서체가 서로 다른 두 개의 "Hello World" 텍스트가 표시됩니다.

Android TextView 글꼴(Font Family) 변경 방법 완벽 가이드

추가로 알아두면 좋은 fontFamily 값

XML에서 사용할 수 있는 대표적인 fontFamily 값은 다음과 같습니다.

  • sans-serif — 기본 고딕체 스타일
  • sans-serif-light — 얇은 산세리프체
  • sans-serif-condensed — 좁은 폭의 산세리프체
  • serif — 명조체 스타일
  • monospace — 고정폭 코드용 서체

커스텀 폰트 파일(TTF, OTF)을 직접 적용하고 싶다면 Android 8.0(API 26)부터 지원되는 Downloadable Fonts 또는 res/font 리소스 기능을 활용하는 것도 좋은 방법입니다.