AndroidStudio(kotlin) 버튼을 눌러 텍스트 뷰의 서체 글꼴을 변경합니다.

5901 단어 AndroidStudioKotlin

하고 싶은 일


  • 글꼴 파일을 앱의 에셋으로 가져옵니다.
  • 버튼을 누르면 텍스트 뷰의 서체가 바뀝니다.



  • 글꼴 파일 캡처



    폰트 파일을 얻는 방법 (자신의 PC에서)



    Windows 10의 경우,
    コントロールパネル > デスクトップのカスタマイズ > フォント
    



    에서 글꼴 파일이 표시되므로,
    모든 파일을 복사하여 앱의 애셋에 저장합니다.

    자산 폴더를 만드는 방법



    AndroidStudio에서
    File > New > Folder > Asset Folder
    

    실행합니다.
    그런 다음 app 아래에 assets 폴더가 만들어집니다.
    이 폴더에 폰트 파일을 복사합니다.



    구현



    화면측




    <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">
    
        <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="あいうえお"
            android:textSize="36sp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
    
        <Button
            android:id="@+id/btn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
    
    </androidx.constraintlayout.widget.ConstraintLayout>
    

    메인 처리



    assets 폴더에 hoge.ttc가 있으면 다음과 같이 지정할 수 있습니다.
    package com.example.yamato200608a
    
    import android.graphics.Typeface
    import android.os.Bundle
    import androidx.appcompat.app.AppCompatActivity
    import kotlinx.android.synthetic.main.activity_main.*
    
    class MainActivity : AppCompatActivity() {
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
            btn.setOnClickListener {
                val typeface = Typeface.createFromAsset(assets, "hoge.ttc")
                textView.typeface = typeface
            }
        }
    }
    

    좋은 웹페이지 즐겨찾기