android 전역 폰트 변경. kotlin
사용하는 테마 설정에 android:typeface 을 추가한다.
코드를 실행한다.
코드 실행후 현재 액티비티에 적용하려면 액티비티 리스타트를 해야 한다.
styles.xml
<style name="AppTheme" parent="Theme.AppCompat.DayNight.DarkActionBar"><item name="android:typeface">serif</item></style>
코드.
fun setFont(defaultFontNameToOverride: String, newFontFileNameInAssets: String): Boolean {
try {
val fontMaintext = Typeface.createFromAsset(context().assets, newFontFileNameInAssets)
val defaultFontTypefaceField: Field = Typeface::class.java.getDeclaredField(defaultFontNameToOverride)
defaultFontTypefaceField.setAccessible(true)
defaultFontTypefaceField.set(null, fontMaintext)
} catch (e: java.lang.Exception) {
return false
}
return true
}
액티비티 리스타트.
val intent: Intent = getIntent()
finish()
startActivity(intent)
댓글
댓글 쓰기