From c4fbf9dcd69c6e7a1ce4c25430422f9355892c57 Mon Sep 17 00:00:00 2001 From: lvmeng <848755140@qq.com> Date: Fri, 24 Apr 2026 18:03:43 +0800 Subject: [PATCH] =?UTF-8?q?feat(ui):=20=E4=BC=98=E5=8C=96=E9=80=9A?= =?UTF-8?q?=E7=94=A8=E5=BC=B9=E7=AA=97=E6=A0=B7=E5=BC=8F=E5=B9=B6=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E5=88=9D=E5=A7=8B=E5=8C=96=E6=B8=85=E9=9B=B6=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 重构 CommonDialog 弹窗视觉效果:新增带阴影投影的背景、缩放淡入淡出动画、取消/确认按钮主次色区分 - 修复 setCancelable 调用位置错误(原写在 window.run 内不生效) - 新增弹窗按钮圆角 ripple drawable,防止涟漪溢出圆角 - InitActivity 启动时对净材秤和熟食秤执行清零操作 - PrepareCookActivity 弹窗补充内容文案 - 修正 activity_dish_sampling.xml 中 MaterialDivider 颜色属性写法 --- .../shuwei/dish/match/dialog/CommonDialog.kt | 9 ++- .../com/shuwei/dish/match/ui/InitActivity.kt | 5 +- .../dish/match/ui/PrepareCookActivity.kt | 3 +- app/src/main/res/anim/dialog_in.xml | 17 +++++ app/src/main/res/anim/dialog_out.xml | 17 +++++ .../main/res/drawable/ripple_btn_bottom.xml | 23 ++++++ app/src/main/res/drawable/ripple_btn_left.xml | 23 ++++++ .../main/res/drawable/ripple_btn_right.xml | 22 ++++++ app/src/main/res/drawable/shape_dialog_bg.xml | 23 ++++++ .../res/layout/activity_dish_sampling.xml | 4 +- app/src/main/res/layout/dialog_common.xml | 75 +++++++++++-------- app/src/main/res/values/themes.xml | 5 ++ 12 files changed, 189 insertions(+), 37 deletions(-) create mode 100644 app/src/main/res/anim/dialog_in.xml create mode 100644 app/src/main/res/anim/dialog_out.xml create mode 100644 app/src/main/res/drawable/ripple_btn_bottom.xml create mode 100644 app/src/main/res/drawable/ripple_btn_left.xml create mode 100644 app/src/main/res/drawable/ripple_btn_right.xml create mode 100644 app/src/main/res/drawable/shape_dialog_bg.xml diff --git a/app/src/main/java/com/shuwei/dish/match/dialog/CommonDialog.kt b/app/src/main/java/com/shuwei/dish/match/dialog/CommonDialog.kt index da271f0..af9feef 100644 --- a/app/src/main/java/com/shuwei/dish/match/dialog/CommonDialog.kt +++ b/app/src/main/java/com/shuwei/dish/match/dialog/CommonDialog.kt @@ -66,16 +66,21 @@ open class CommonDialog( requestWindowFeature(Window.FEATURE_NO_TITLE) binding = DialogCommonBinding.inflate(layoutInflater) setContentView(binding.root) + // 弹窗不允许点击外部关闭 + setCancelable(false) window?.run { val screenWidth = context.resources.displayMetrics.widthPixels val isMaster = GlobalData.deviceRole == DeviceRole.MASTER attributes = attributes.apply { width = if (isMaster) (screenWidth * 0.72f).toInt() else (screenWidth * 0.60f).toInt() } + // 透明背景,让 shape_dialog_bg 的阴影层正常显示 setBackgroundDrawable(ColorDrawable()) - setCancelable(false) + // 应用缩放+淡入淡出动画 + setWindowAnimations(com.shuwei.dish.match.R.style.CommonDialogAnimation) } - val verticalMargin = if (GlobalData.deviceRole == DeviceRole.MASTER) 35.dp else 20.dp + // 主/从设备边距微调:主设备内容区域更大,适当增加上下留白 + val verticalMargin = if (GlobalData.deviceRole == DeviceRole.MASTER) 48.dp else 36.dp binding.tvTitle.updateLayoutParams { topMargin = verticalMargin } binding.tvContent.updateLayoutParams { bottomMargin = verticalMargin } diff --git a/app/src/main/java/com/shuwei/dish/match/ui/InitActivity.kt b/app/src/main/java/com/shuwei/dish/match/ui/InitActivity.kt index 2de962b..afa1076 100644 --- a/app/src/main/java/com/shuwei/dish/match/ui/InitActivity.kt +++ b/app/src/main/java/com/shuwei/dish/match/ui/InitActivity.kt @@ -17,6 +17,7 @@ import com.shuwei.dish.match.base.GlobalData import com.shuwei.dish.match.databinding.ActivityInitBinding import com.shuwei.dish.match.objbox.FoodModule import com.shuwei.dish.match.scale.ScaleServiceManager +import com.shuwei.dish.match.utils.AddressUtil import com.shuwei.dish.match.utils.AppUtil import com.shuwei.dish.match.utils.NetworkUtils import com.shuwei.dish.match.utils.SpTool @@ -57,7 +58,9 @@ class InitActivity : BaseActivity() { WeightUtil.init() WeightUtil.getWeight() WeightUtil.startContinuousRead() - + //对净材秤1和熟食秤2称进行清零 + WeightUtil.tareTwo(AddressUtil.ONE) + WeightUtil.tareTwo(AddressUtil.TWO) initViews() } diff --git a/app/src/main/java/com/shuwei/dish/match/ui/PrepareCookActivity.kt b/app/src/main/java/com/shuwei/dish/match/ui/PrepareCookActivity.kt index 0ed4e8d..5b03a28 100644 --- a/app/src/main/java/com/shuwei/dish/match/ui/PrepareCookActivity.kt +++ b/app/src/main/java/com/shuwei/dish/match/ui/PrepareCookActivity.kt @@ -265,7 +265,8 @@ class PrepareCookActivity : BaseActivity() { private fun showRemindDialog() { CommonDialog(this) - .setTitle("温馨提示") + .setTitle("制作提示") + .setContent(getString(R.string.food_remind_01)) .setNegativeButton("返回调整") .setPositiveButton("确认无误") { openSubmitPage() } .setOnDismissCallback { hideStatusBar() } diff --git a/app/src/main/res/anim/dialog_in.xml b/app/src/main/res/anim/dialog_in.xml new file mode 100644 index 0000000..1c9e983 --- /dev/null +++ b/app/src/main/res/anim/dialog_in.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/res/anim/dialog_out.xml b/app/src/main/res/anim/dialog_out.xml new file mode 100644 index 0000000..bfef683 --- /dev/null +++ b/app/src/main/res/anim/dialog_out.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/res/drawable/ripple_btn_bottom.xml b/app/src/main/res/drawable/ripple_btn_bottom.xml new file mode 100644 index 0000000..2f5434a --- /dev/null +++ b/app/src/main/res/drawable/ripple_btn_bottom.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ripple_btn_left.xml b/app/src/main/res/drawable/ripple_btn_left.xml new file mode 100644 index 0000000..f2d7a1b --- /dev/null +++ b/app/src/main/res/drawable/ripple_btn_left.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ripple_btn_right.xml b/app/src/main/res/drawable/ripple_btn_right.xml new file mode 100644 index 0000000..ad9a682 --- /dev/null +++ b/app/src/main/res/drawable/ripple_btn_right.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/shape_dialog_bg.xml b/app/src/main/res/drawable/shape_dialog_bg.xml new file mode 100644 index 0000000..c2527aa --- /dev/null +++ b/app/src/main/res/drawable/shape_dialog_bg.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_dish_sampling.xml b/app/src/main/res/layout/activity_dish_sampling.xml index 6cfe9f8..88664a6 100644 --- a/app/src/main/res/layout/activity_dish_sampling.xml +++ b/app/src/main/res/layout/activity_dish_sampling.xml @@ -117,7 +117,7 @@ android:layout_height="1dp" android:layout_marginStart="30dp" android:layout_marginEnd="30dp" - android:background="@color/gray_eb" /> + app:dividerColor="@color/gray_eb" /> + app:dividerColor="@color/gray_eb" /> + + + + android:textSize="26sp" + tools:text="这是弹窗的内容信息,请确认"/> - + @@ -40,35 +47,38 @@ + + android:textColor="@color/black666" + android:textSize="28sp" + tools:text="取消" /> - + + android:textSize="28sp" + android:textStyle="bold" + tools:text="确认"/> @@ -79,42 +89,45 @@ android:orientation="vertical" android:visibility="gone"> + + android:gravity="center" + android:textColor="@color/black666" + android:textSize="28sp" /> - + + android:textSize="28sp" /> - + diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 47d4c19..d56ed2f 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -52,4 +52,9 @@ @android:anim/fade_in @android:anim/fade_out + + \ No newline at end of file