개발 창고/Android

[Kotlin] How to Applying Bold and Italic to TextView

로이제로 2023. 12. 12. 22:00
반응형

 

레이아웃에서 적용

 TextView에 두껍게(Bold) 또는 기울게(Italic)을 적용하려면 아래와 같이 작업하면 됩니다.

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textStyle="normal"
    android:text="가나다라마바사 [normal]"
    />

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textStyle="bold"
    android:text="가나다라마바사 [bold]"
    />

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textStyle="italic"
    android:text="가나다라마바사 [italic]"
    />

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textStyle="bold|italic"
    android:text="가나다라마바사 [bold + italic]"
    />

레이아웃에서 적용된 결과

 

Kotlin 소스에서 적용

 Kotlin에서 동적으로 적용하려면 어떻게 해야 할까요? 해당 TextView의 아이디가 txtTitle이라고 가정하면, 아래와 같이 선언하여 사용 가능합니다.

val txtTitle = findViewById<TextView>(R.id.txtTitle)
txtTitle.setTypeface(txtTitle.typeface, Typeface.NORMAL)        // Normal인 경우
txtTitle.setTypeface(txtTitle.typeface, Typeface.BOLD)          // Bold인 경우
txtTitle.setTypeface(txtTitle.typeface, Typeface.ITALIC)        // Italic인 경우
txtTitle.setTypeface(txtTitle.typeface, Typeface.BOLD_ITALIC)   // Bold + Italic인 경우

 각 행 중에서 원하는 Typeface로 지정해 주면 되고 이는 아래와 같이 맵핑됩니다.

Kotlin 소스에서 적용된 결과

 

반응형