From 208814e1106d1ef8d944a2a906ce42788d1bfb62 Mon Sep 17 00:00:00 2001 From: Fankesyooni Date: Fri, 13 May 2022 20:37:29 +0800 Subject: [PATCH] Make Material Dialog background round corner --- .../utils/factory/DialogBuilderFactory.kt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/fankes/apperrorstracking/utils/factory/DialogBuilderFactory.kt b/app/src/main/java/com/fankes/apperrorstracking/utils/factory/DialogBuilderFactory.kt index f3df469..77c08cf 100644 --- a/app/src/main/java/com/fankes/apperrorstracking/utils/factory/DialogBuilderFactory.kt +++ b/app/src/main/java/com/fankes/apperrorstracking/utils/factory/DialogBuilderFactory.kt @@ -38,6 +38,7 @@ import android.widget.TextView import androidx.appcompat.app.AppCompatActivity import com.fankes.apperrorstracking.locale.LocaleString import com.google.android.material.dialog.MaterialAlertDialogBuilder +import com.google.android.material.shape.MaterialShapeDrawable /** * 构造对话框 @@ -69,9 +70,11 @@ class DialogBuilder(val context: Context) { private val isUsingAndroidX get() = runCatching { context is AppCompatActivity }.getOrNull() ?: false init { - if (isUsingAndroidX) - runCatching { instanceAndroidX = MaterialAlertDialogBuilder(context) } - else runCatching { + if (isUsingAndroidX) runCatching { + instanceAndroidX = MaterialAlertDialogBuilder(context).apply { + background = (background as MaterialShapeDrawable).apply { setCornerSize(15.dpFloat(context)) } + } + } else runCatching { instanceAndroid = android.app.AlertDialog.Builder( context, if (context.isSystemInDarkMode) android.R.style.Theme_Material_Dialog else android.R.style.Theme_Material_Light_Dialog