ScrollView가 있는 AlertDialog 표시

개시하다


규약 화면 사용 등의 글만 표시하는 화면을 만들 때 액티비티와 프래그먼트로 하나의 화면을 만드는 것이 정공법이다.
하지만 너무 귀찮아서 램프에 살짝 쓸 수 있는 AlearDialog로 손쉽게 만들 때는 자신의 노트를 남겨야 한다.

설치 방법


먼저 ScrollView가 있는 레이아웃 파일을 만듭니다.
이번에는 여러 개의 TextView를 요소로 하기 때문에 Linuar Layout을 끼고 작업과 재료를 줄이고 싶다면 직접 TextView를 ScrollView 밑에 놓아도 괜찮다.
view_scrollable_text.xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="16dp">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="hoge" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="fuga" />
    </LinearLayout>
</ScrollView>
이후에는 AlertDialog가 언제든지 표시됩니다.
setMessage를 사용하지 않고 위에서 정의한 레이아웃 파일 setView를 사용합니다.
※ 이곳은 MainActivity의 onCreate로 표시됩니다.
MainActivity.kt
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    AlertDialog.Builder(applicationContext)
        .setTitle("title")
        .setView(R.layout.view_scrollable_text)
        .setPositiveButton(
            "OK"
        ) { _, _ ->
            // Do nothing
        }
        .show()
}

사용 예



끝말


나뭇가지에 너무 많은 시간을 들이는 것도 힘들니 적당히 게으름을 피워라.

좋은 웹페이지 즐겨찾기