[TIP] Android BottomSheetDialog Rounded Corner
Notepad96
·2022. 2. 20. 09:56
300x250
Android BottomSheetDialog Rounded Corner - BottomSheetDialog 모서리 둥글게 만들기
@ res/values/themes.xml
<style name="BottomSheetDialog" parent="@style/ThemeOverlay.MaterialComponents.BottomSheetDialog">
<item name="bottomSheetStyle">@style/BottomSheet</item>
<item name="android:colorBackground">@color/white</item>
</style>
<style name="BottomSheet" parent="Widget.MaterialComponents.BottomSheet.Modal">
<item name="backgroundTint">@android:color/transparent</item>
</style>
다음과 같이 2개의 스타일을 정의해준다.
이후 해당 애플리케이션 테마 스타일 속에 bottomSheetDialogTheme를 추가하여 다음과 같이 지정해준다.
<style name="..." parent="Theme.MaterialComponents.DayNight.NoActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/light_first_deep</item>
<item name="colorPrimaryVariant">@color/light_first_deep</item>
<item name="colorOnPrimary">@color/white</item>
<item name="bottomSheetDialogTheme">@style/BottomSheetDialog</item>
</style>
@ res/drawable/bg_top_corner.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/#ccc"/>
<corners android:topRightRadius="28dp" android:topLeftRadius="28dp"/>
</shape>
위쪽 모서리를 둥글게하기 위하여 스타일 파일을 생성한다.
스타일을 꾸미는 자세한 방법은 내용은 아래글을 참조
@ res/layout/bottom_sheet_layout.xml
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="150dp"
android:background="@drawable/bg_top_corner">
이제 Bottom Sheet Dialog의 레이아웃의 background로 위에서 정의한 스타일을 지정해 준다.
300x250
'Android > TIP' 카테고리의 다른 글
[TIP] Android 일정 간격으로 가운데 정렬 (0) | 2022.03.08 |
---|---|
[TIP] Android SimpleDateFormat - 날짜에 따른 이름 만들기 (0) | 2022.02.21 |
[TIP] Android Transparent - 투명색 (0) | 2022.02.19 |
[TIP] Andrid Button cannot lower case text - 소문자 입력하기 (0) | 2022.02.18 |
[TIP]Android Layout dividing programmatically (0) | 2022.02.15 |