| | |
| | | |
| | | // 添加设置未读提醒徽章的方法 |
| | | private fun setupUnreadBadge() { |
| | | // 创建未读消息数量的小红点 |
| | | reminderBadge = TextView(requireContext()).apply { |
| | | setBackgroundResource(R.drawable.circle_badge_background) |
| | | setTextColor(Color.WHITE) |
| | | gravity = Gravity.CENTER |
| | | textSize = 10f |
| | | minWidth = resources.getDimensionPixelSize(R.dimen.badge_min_width) |
| | | minHeight = resources.getDimensionPixelSize(R.dimen.badge_min_height) |
| | | setPadding(4, 0, 4, 0) |
| | | } |
| | | |
| | | // 添加到布局中 |
| | | val parentView = binding.reminderButton.parent as? ViewGroup |
| | | parentView?.addView(reminderBadge) |
| | | |
| | | // 调整位置到提醒按钮右上角 |
| | | (reminderBadge?.layoutParams as? FrameLayout.LayoutParams)?.apply { |
| | | gravity = Gravity.TOP or Gravity.END |
| | | width = 48 // 使用固定像素值 |
| | | height = 48 // 使用固定像素值 |
| | | // 设置位置偏移,使小红点位于图标右上角 |
| | | setMargins(0, 0, 0, 0) |
| | | } |
| | | // 直接使用布局中定义的小红点 |
| | | reminderBadge = binding.reminderBadge |
| | | } |
| | | |
| | | // 更新未读提醒徽章 |