Android System Font list 가져오기, 적용하기
OS/Android 2021. 12. 3. 12:36반응형
system/fonts 디렉토리에 있는 폰트 파일 리스트 출력
폰트 파일 적용
테스트 코드
import android.graphics.Typeface
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.util.Log.*
import android.widget.TextView
import java.io.File
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
override fun onResume() {
changeFont()
super.onResume()
}
fun changeFont() {
// get font files
val FONT_DIR = "/system/fonts/"
val fontPaths = ArrayList<String>()
val fontDir = File(FONT_DIR)
val fontSuffix = ".ttf";
for(font in fontDir.listFiles()) {
if(font.name.endsWith(fontSuffix)) {
fontPaths.add(font.absolutePath);
}
}
for (fontFile in fontPaths) {
Log.i("Font test","Font : $fontFile")
}
// apply font file
val textView1 : TextView = findViewById(R.id.textview1)
val textView2 : TextView = findViewById(R.id.textview2)
val typeface1 = Typeface.createFromFile("/system/fonts/NotoSerif-Bold.ttf")
textView1.typeface = typeface1
textView1.text = "TestView 123 "
val typeface2 = Typeface.createFromFile("/system/fonts/Roboto-Regular.ttf")
textView2.typeface = typeface2
textView2.text = "TestView 123 "
}
}
반응형