본문 바로가기
Android/Android Studio

[안드로이드/Kotlin] BottomSheetDialog 사용

by YOONAYEON 2022. 4. 24.
BottomSheetDialog

 

아래에서 올라오는 알림창/팝업창.

아래에서 올라오는 Dialog창이라고 생각하면 될 것 같다.

 

 

1. gradle에 해당 라이브러리 추가하기
- 라이브러리 버전 확인

implementation 'com.google.android.material:material:1.3.0-alpha01'

 

2. 다이얼로그의 화면 프래그먼트 작성

- https://ddolcat.tistory.com/86 android:drawableLeft를 사용한 아이콘 이미지 사이즈 조절 

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:padding="20dp">

    <TextView
        android:id="@+id/tv_dialog_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        android:text="라일락"
        android:textColor="@color/black"
        android:textSize="18sp"/>

    <TextView
        android:id="@+id/tv_dialog_singer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintTop_toBottomOf="@id/tv_dialog_title"
        app:layout_constraintStart_toStartOf="parent"
        android:text="아이유 (IU)"
        android:textSize="14sp"/>

    <ImageView
        android:id="@+id/iv_dialog_close"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:src="@drawable/btn_actionbar_close"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent"/>

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_constraintTop_toBottomOf="@id/tv_dialog_singer"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        android:layout_marginTop="30dp">

        <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:drawableLeft="@drawable/ic_text_view_resize"
                android:text="  곡 정보"
                android:textColor="@color/black"
                android:textSize="16sp"
                android:layout_margin="10dp"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawableLeft="@drawable/ic_text_view_resize"
                android:text="  앨범 정보"
                android:textColor="@color/black"
                android:textSize="16sp"
                android:layout_margin="10dp"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawableLeft="@drawable/ic_text_view_resize"
                android:text="  아티스트 정보"
                android:textColor="@color/black"
                android:textSize="16sp"
                android:layout_margin="10dp"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawableLeft="@drawable/ic_text_view_resize"
                android:text="  내 리스트에 담기"
                android:textColor="@color/black"
                android:textSize="16sp"
                android:layout_margin="10dp"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawableLeft="@drawable/ic_text_view_resize"
                android:text="  링크 공유하기"
                android:textColor="@color/black"
                android:textSize="16sp"
                android:layout_margin="10dp"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawableLeft="@drawable/ic_text_view_resize"
                android:text="  삭제"
                android:textColor="@color/black"
                android:textSize="16sp"
                android:layout_margin="10dp"/>
        </LinearLayout>
    </ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>