Make Material Dialog background round corner

This commit is contained in:
2022-05-13 20:37:29 +08:00
parent 266be8786d
commit 208814e110

View File

@@ -38,6 +38,7 @@ import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import com.fankes.apperrorstracking.locale.LocaleString import com.fankes.apperrorstracking.locale.LocaleString
import com.google.android.material.dialog.MaterialAlertDialogBuilder 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 private val isUsingAndroidX get() = runCatching { context is AppCompatActivity }.getOrNull() ?: false
init { init {
if (isUsingAndroidX) if (isUsingAndroidX) runCatching {
runCatching { instanceAndroidX = MaterialAlertDialogBuilder(context) } instanceAndroidX = MaterialAlertDialogBuilder(context).apply {
else runCatching { background = (background as MaterialShapeDrawable).apply { setCornerSize(15.dpFloat(context)) }
}
} else runCatching {
instanceAndroid = android.app.AlertDialog.Builder( instanceAndroid = android.app.AlertDialog.Builder(
context, context,
if (context.isSystemInDarkMode) android.R.style.Theme_Material_Dialog else android.R.style.Theme_Material_Light_Dialog if (context.isSystemInDarkMode) android.R.style.Theme_Material_Dialog else android.R.style.Theme_Material_Light_Dialog