From 5a17033dd2c418ee1a79c39ced364c83565a3e50 Mon Sep 17 00:00:00 2001 From: zmx Date: Thu, 26 Sep 2024 14:11:07 +0800 Subject: [PATCH 1/3] 666 --- .../src/main/java/com/mx/dialog/MXDialog.kt | 14 ++++++++++++- .../java/com/mx/dialog/tip/MXTipBaseDialog.kt | 12 ----------- .../com/mx/dialog/tip/{Any.kt => models.kt} | 0 README.md | 20 ++++++++++--------- 4 files changed, 24 insertions(+), 22 deletions(-) rename LibDialog/src/main/java/com/mx/dialog/tip/{Any.kt => models.kt} (100%) diff --git a/LibDialog/src/main/java/com/mx/dialog/MXDialog.kt b/LibDialog/src/main/java/com/mx/dialog/MXDialog.kt index 8969709..ec75236 100644 --- a/LibDialog/src/main/java/com/mx/dialog/MXDialog.kt +++ b/LibDialog/src/main/java/com/mx/dialog/MXDialog.kt @@ -3,8 +3,8 @@ package com.mx.dialog import android.content.Context import android.view.Gravity import com.mx.dialog.list.MXListDialog -import com.mx.dialog.tip.MXPosition import com.mx.dialog.tip.MXCardPosition +import com.mx.dialog.tip.MXPosition import com.mx.dialog.tip.MXTipDialog import com.mx.dialog.tip.MXType import com.mx.dialog.utils.IMXLifecycle @@ -309,4 +309,16 @@ object MXDialog { checkedIndex } } + + private fun tipWithType(context: Context, message: String, type: MXType) { + MXTipDialog(context).apply { + setTipType(type) + setMessage(message) + setCancelable(false) + }.show() + } + + fun warn(context: Context, message: String) = tipWithType(context, message, MXType.WARN) + fun success(context: Context, message: String) = tipWithType(context, message, MXType.SUCCESS) + fun error(context: Context, message: String) = tipWithType(context, message, MXType.ERROR) } \ No newline at end of file diff --git a/LibDialog/src/main/java/com/mx/dialog/tip/MXTipBaseDialog.kt b/LibDialog/src/main/java/com/mx/dialog/tip/MXTipBaseDialog.kt index 4802ec5..2392a6b 100644 --- a/LibDialog/src/main/java/com/mx/dialog/tip/MXTipBaseDialog.kt +++ b/LibDialog/src/main/java/com/mx/dialog/tip/MXTipBaseDialog.kt @@ -181,18 +181,6 @@ abstract class MXTipBaseDialog(context: Context) : MXBaseCardDialog(context) { return button } - private fun attachDivider(): View? { - val btnLay = btnLay ?: return null - val hasBefore = (btnLay.childCount > 0) - - return if (hasBefore) { - LayoutInflater.from(context).inflate( - R.layout.mx_content_divider_btn, btnLay, true - ) - btnLay.getChildAt(btnLay.childCount - 1) - } else null - } - /** * 设置活动按钮 */ diff --git a/LibDialog/src/main/java/com/mx/dialog/tip/Any.kt b/LibDialog/src/main/java/com/mx/dialog/tip/models.kt similarity index 100% rename from LibDialog/src/main/java/com/mx/dialog/tip/Any.kt rename to LibDialog/src/main/java/com/mx/dialog/tip/models.kt diff --git a/README.md b/README.md index 61a92cd..04ba5b2 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ ```groovy dependencies { implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2' - implementation 'com.github.zmx1990:MXDialog:1.6.8' + implementation 'com.github.zmx1990:MXDialog:1.6.9' } ``` @@ -27,16 +27,18 @@ MXTipDialog(this).apply { setTitle("提示") // 标题 setMessage("这是一个提示!!!") // 内容 setDismissDelay(10) // 10秒后消失 - setPosition(MXDialogPosition.CENTER.also { // 内容位置 + setCardPosition(MXCardPosition.CENTER.also { // 内容位置 it.translationY = -50 // 内容Y轴位移 it.translationX = 100 // X轴位移 - it.marginTop = 20 // 顶部边距 - it.marginBottom = 10 // 底部边距 }) setCancelBtn(visible = true, text = "不要", color = Color.GRAY) {// 取消按钮样式 // 取消按钮点击 } - setActionBtn { + setCancelPosition(MXPosition.LEFT) // 取消按钮位置 + setActionBtn("确认") { + // 确认按钮点击 + } + addActionBtn("Action") { // 确认按钮点击 } }.show() @@ -49,7 +51,7 @@ MXTipDialog(this).apply { Confirm弹窗不可返回 ```kotlin -MXTipDialog.confirm(this, "请确认") { confirm -> +MXDialog.confirm(this, "请确认") { confirm -> toast("确认结果:$confirm") } ``` @@ -59,21 +61,21 @@ MXTipDialog.confirm(this, "请确认") { confirm -> ```kotlin // 错误提示 -MXTipDialog.error(this, "错误提示") +MXDialog.error(this, "错误提示") ``` ![Image text](https://gitee.com/zhangmengxiong/MXDialog/raw/master/imgs/img_tip3.png) ```kotlin // 成功提示 -MXTipDialog.success(this, "成功提示") +MXDialog.success(this, "成功提示") ``` ![Image text](https://gitee.com/zhangmengxiong/MXDialog/raw/master/imgs/img_tip4.png) ```kotlin // Warn提示 -MXTipDialog.warn(this, "Warn提示") +MXDialog.warn(this, "Warn提示") ``` ##### 4、Toast集成 -- Gitee From d2a6a633b8f00c0d9eadfe296808c0415ff2763e Mon Sep 17 00:00:00 2001 From: zmx Date: Thu, 26 Sep 2024 14:43:07 +0800 Subject: [PATCH 2/3] 666 --- .../src/main/java/com/mx/dialog/MXDialog.kt | 22 +++++++++++++---- .../com/mx/dialog/list/MXBaseListDialog.kt | 4 +--- .../src/main/java/com/mx/dialog/tip/models.kt | 2 +- .../main/java/com/mx/dialog/utils/MXUtils.kt | 2 +- .../src/main/res/layout/mx_dialog_list.xml | 5 ++-- LibDialog/src/main/res/values/dimens.xml | 3 ++- .../main/java/com/mx/example/MainActivity.kt | 24 +++++++++++++------ 7 files changed, 42 insertions(+), 20 deletions(-) diff --git a/LibDialog/src/main/java/com/mx/dialog/MXDialog.kt b/LibDialog/src/main/java/com/mx/dialog/MXDialog.kt index ec75236..a2f117b 100644 --- a/LibDialog/src/main/java/com/mx/dialog/MXDialog.kt +++ b/LibDialog/src/main/java/com/mx/dialog/MXDialog.kt @@ -278,7 +278,7 @@ object MXDialog { contentMaxHeightRatio: Float = 1.2f, contentRadiusDP: Float = 10f, contentMarginDP: Float = 20f, - position: MXCardPosition = MXCardPosition.BOTTOM, + position: MXCardPosition = MXCardPosition.BOTTOM.apply { translationY = -10 }, textColor: Int? = null, textSizeSP: Float? = null, textGravity: Int? = Gravity.LEFT or Gravity.CENTER_VERTICAL @@ -310,15 +310,27 @@ object MXDialog { } } - private fun tipWithType(context: Context, message: String, type: MXType) { + private fun tipWithType( + context: Context, + title: CharSequence?, + message: CharSequence, + type: MXType + ) { MXTipDialog(context).apply { setTipType(type) + setTitle(title) setMessage(message) setCancelable(false) + setActionBtn {} }.show() } - fun warn(context: Context, message: String) = tipWithType(context, message, MXType.WARN) - fun success(context: Context, message: String) = tipWithType(context, message, MXType.SUCCESS) - fun error(context: Context, message: String) = tipWithType(context, message, MXType.ERROR) + fun warn(context: Context, message: CharSequence, title: CharSequence? = null) = + tipWithType(context, title, message, MXType.WARN) + + fun success(context: Context, message: CharSequence, title: CharSequence? = null) = + tipWithType(context, title, message, MXType.SUCCESS) + + fun error(context: Context, message: CharSequence, title: CharSequence? = null) = + tipWithType(context, title, message, MXType.ERROR) } \ No newline at end of file diff --git a/LibDialog/src/main/java/com/mx/dialog/list/MXBaseListDialog.kt b/LibDialog/src/main/java/com/mx/dialog/list/MXBaseListDialog.kt index e2382f4..e33dc0d 100644 --- a/LibDialog/src/main/java/com/mx/dialog/list/MXBaseListDialog.kt +++ b/LibDialog/src/main/java/com/mx/dialog/list/MXBaseListDialog.kt @@ -143,9 +143,7 @@ open class MXBaseListDialog(context: Context) : MXBaseDialog(context) { } contentLay?.setMaxHeightRatio(contentMaxHeightRatioDP) - mxRootLay?.post { - calculatorListHeight() - } + mxRootLay?.post { calculatorListHeight() } } /** diff --git a/LibDialog/src/main/java/com/mx/dialog/tip/models.kt b/LibDialog/src/main/java/com/mx/dialog/tip/models.kt index dcd2206..daeb1cb 100644 --- a/LibDialog/src/main/java/com/mx/dialog/tip/models.kt +++ b/LibDialog/src/main/java/com/mx/dialog/tip/models.kt @@ -26,7 +26,7 @@ class MXCardPosition { val BOTTOM: MXCardPosition get() = MXCardPosition().apply { gravity = Gravity.BOTTOM or Gravity.CENTER_HORIZONTAL - translationY = -40 + translationY = -20 } } } diff --git a/LibDialog/src/main/java/com/mx/dialog/utils/MXUtils.kt b/LibDialog/src/main/java/com/mx/dialog/utils/MXUtils.kt index 9d86517..eddcd15 100644 --- a/LibDialog/src/main/java/com/mx/dialog/utils/MXUtils.kt +++ b/LibDialog/src/main/java/com/mx/dialog/utils/MXUtils.kt @@ -25,7 +25,7 @@ internal object MXUtils { * dp - px单位转换 */ fun dp2px(context: Context, dp: Number): Int { - if (dp.toDouble() <= 0.0) return 0 + if (dp.toDouble() == 0.0) return 0 return (dp.toDouble() * context.resources.displayMetrics.density + 0.5f).roundToInt() } diff --git a/LibDialog/src/main/res/layout/mx_dialog_list.xml b/LibDialog/src/main/res/layout/mx_dialog_list.xml index 0f7021b..8039070 100644 --- a/LibDialog/src/main/res/layout/mx_dialog_list.xml +++ b/LibDialog/src/main/res/layout/mx_dialog_list.xml @@ -27,7 +27,7 @@ + android:layout_marginTop="@dimen/mx_dialog_size_divider_normal" + android:layout_marginBottom="@dimen/mx_dialog_size_divider_normal"> 13sp 15sp 15sp - 17sp + 18sp 12dp 20dp 14dp 45dp + 60dp 50dp 42dp 55dp diff --git a/app/src/main/java/com/mx/example/MainActivity.kt b/app/src/main/java/com/mx/example/MainActivity.kt index e97419c..6baef15 100644 --- a/app/src/main/java/com/mx/example/MainActivity.kt +++ b/app/src/main/java/com/mx/example/MainActivity.kt @@ -11,7 +11,7 @@ import com.gyf.immersionbar.BarHide import com.gyf.immersionbar.ImmersionBar import com.mx.dialog.MXDialog import com.mx.dialog.progress.MXLoadingDialog -import com.mx.dialog.tip.MXType +import com.mx.dialog.tip.MXCardPosition import kotlinx.coroutines.launch class MainActivity : AppCompatActivity() { @@ -92,15 +92,15 @@ class MainActivity : AppCompatActivity() { } fun showError(view: View) { - MXDialog.tip(this, "错误提示", "错误", dialogType = MXType.ERROR) + MXDialog.error(this, "错误提示", "错误") } fun showSuccess(view: View) { - MXDialog.tip(this, "成功提示", "成功", dialogType = MXType.SUCCESS) + MXDialog.success(this, "成功提示", "成功") } fun showWarn(view: View) { - MXDialog.tip(this, "Warn提示", "提示", dialogType = MXType.WARN) + MXDialog.warn(this, "Warn提示", "提示") } fun showLoading(view: View) { @@ -118,7 +118,16 @@ class MainActivity : AppCompatActivity() { //// setIndeterminateDrawable(resources.getDrawable(com.mx.dialog.R.drawable.mx_dialog_icon_error)) //// setMessage("我在加载中... ${MXProgressDialog.REPLACE_PROGRESS}") // }.show() - MXLoadingDialog(this).show() + MXLoadingDialog(this).apply { + setCancelable(false) //设置是否可手动返回 + setCardPosition(MXCardPosition.CENTER.apply { + // 和TipDialog的位置使用一样 +// translationY = -10 +// translationX = 20 + }) + setDismissDelay(3) // 设置Dialog3秒后自动消失 + setMessage("我在加载中...") + }.show() } fun showToast(view: View) { @@ -130,8 +139,9 @@ class MainActivity : AppCompatActivity() { val index = MXDialog.selectMultiSync( this@MainActivity, list = ('A'..'Z').toMutableList().map { it.toString() }, - selectIndexList = arrayListOf(0, 1), -// cancelable = false + title = "多选!", + selectIndexList = arrayListOf(0, 4), + cancelable = false ) MXDialog.tip(this@MainActivity, "点击了:$index") } -- Gitee From 1220ab3eb89a44e5024edcd9037c40dee7ff7c1e Mon Sep 17 00:00:00 2001 From: zmx Date: Thu, 26 Sep 2024 15:01:59 +0800 Subject: [PATCH 3/3] 1.7.0 --- .idea/deploymentTargetSelector.xml | 4 ++-- .../java/com/mx/dialog/tip/MXTipBaseDialog.kt | 3 ++- .../main/java/com/mx/dialog/utils/MXBtnAttach.kt | 5 +++++ .../src/main/res/drawable/mx_dialog_icon_none.xml | 15 +++++++++++++++ LibDialog/src/main/res/layout/mx_content_tip.xml | 4 ++-- LibDialog/src/main/res/layout/mx_dialog_list.xml | 4 ++-- LibDialog/src/main/res/values/colors.xml | 1 + LibDialog/src/main/res/values/dimens.xml | 1 - README.md | 2 +- build.gradle | 2 +- 10 files changed, 31 insertions(+), 10 deletions(-) create mode 100644 LibDialog/src/main/res/drawable/mx_dialog_icon_none.xml diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml index db5436b..e920fd5 100644 --- a/.idea/deploymentTargetSelector.xml +++ b/.idea/deploymentTargetSelector.xml @@ -4,10 +4,10 @@