feat(ui): 优化通用弹窗样式并修复初始化清零逻辑

- 重构 CommonDialog 弹窗视觉效果:新增带阴影投影的背景、缩放淡入淡出动画、取消/确认按钮主次色区分
- 修复 setCancelable 调用位置错误(原写在 window.run 内不生效)
- 新增弹窗按钮圆角 ripple drawable,防止涟漪溢出圆角
- InitActivity 启动时对净材秤和熟食秤执行清零操作
- PrepareCookActivity 弹窗补充内容文案
- 修正 activity_dish_sampling.xml 中 MaterialDivider 颜色属性写法
This commit is contained in:
2026-04-24 18:03:43 +08:00
parent a2f8fb903a
commit c4fbf9dcd6
12 changed files with 189 additions and 37 deletions
@@ -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<LinearLayout.LayoutParams> { topMargin = verticalMargin }
binding.tvContent.updateLayoutParams<LinearLayout.LayoutParams> { bottomMargin = verticalMargin }
@@ -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()
}
@@ -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() }