cloudroam
2025-04-15 85d11d6cd12abdd1e1f5f7516a7fb53a4826633f
add: 消息提醒
已修改4个文件
已添加1个文件
119 ■■■■■ 文件已修改
app/src/main/java/com/example/firstapp/MainActivity.kt 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/example/firstapp/activity/SettingActivity.kt 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/example/firstapp/ui/home/HomeFragment.kt 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/circle_badge_background.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/fragment_home.xml 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/example/firstapp/MainActivity.kt
@@ -222,7 +222,8 @@
                                                        address = response.data.details.address ?: "",
                                                        remarks = response.data.details.time ?: "",
                                                    )
                                                    if(code.oneLevel.isNotEmpty() && code.secondLevel.isNotEmpty() && code.code.isNotEmpty()) {
//                                                    if(code.oneLevel.isNotEmpty() && code.secondLevel.isNotEmpty() && code.code.isNotEmpty()) {
                                                    if(code.oneLevel.isNotEmpty()  && code.code.isNotEmpty()) {
                                                        Core.code.insert(code)
                                                        android.util.Log.d("MainActivity", "历史快递短信已保存: $pickupCode")
                                                    }
app/src/main/java/com/example/firstapp/activity/SettingActivity.kt
@@ -103,7 +103,7 @@
                        Core.code.deleteAll()
                        Core.msg.deleteAll()
                        Core.keyword.deleteAll()
                        Core.reminder.deleteAll()
//                        Core.reminder.deleteAll()
                        dialog.dismiss()
                        // 跳转到 LoginActivity 并清除之前的任务栈
app/src/main/java/com/example/firstapp/ui/home/HomeFragment.kt
@@ -538,29 +538,8 @@
    // 添加设置未读提醒徽章的方法
    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
    }
    
    // 更新未读提醒徽章
app/src/main/res/drawable/circle_badge_background.xml
对比新文件
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <solid android:color="#FF0000" />
    <size
        android:width="16dp"
        android:height="16dp" />
</shape>
app/src/main/res/layout/fragment_home.xml
@@ -28,7 +28,7 @@
                android:orientation="horizontal"
                android:layout_marginTop="8dp"
                android:layout_marginBottom="8dp"
                android:layout_marginHorizontal="8dp">
                android:layout_marginHorizontal="4dp">
                <!-- 分类标签区域 -->
                <LinearLayout
@@ -43,10 +43,12 @@
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        android:gravity="center"
                        android:padding="6dp"
                        android:padding="4dp"
                        android:text="快递"
                        android:textSize="14sp"
                        android:textStyle="bold" />
                        android:textStyle="bold"
                        android:singleLine="true"
                        android:ellipsize="end" />
                    <com.example.firstapp.view.UnderlineTextView
                        android:id="@+id/tabFinance"
@@ -54,9 +56,11 @@
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        android:gravity="center"
                        android:padding="6dp"
                        android:padding="4dp"
                        android:text="还款"
                        android:textSize="14sp" />
                        android:textSize="14sp"
                        android:singleLine="true"
                        android:ellipsize="end" />
                    <com.example.firstapp.view.UnderlineTextView
                        android:id="@+id/tabIncome"
@@ -64,9 +68,11 @@
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        android:gravity="center"
                        android:padding="6dp"
                        android:padding="4dp"
                        android:text="收入"
                        android:textSize="14sp" />
                        android:textSize="14sp"
                        android:singleLine="true"
                        android:ellipsize="end" />
                    <com.example.firstapp.view.UnderlineTextView
                        android:id="@+id/tabFlight"
@@ -74,9 +80,11 @@
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        android:gravity="center"
                        android:padding="6dp"
                        android:padding="4dp"
                        android:text="航班"
                        android:textSize="14sp" />
                        android:textSize="14sp"
                        android:singleLine="true"
                        android:ellipsize="end" />
                    <com.example.firstapp.view.UnderlineTextView
                        android:id="@+id/tabTrain"
@@ -84,9 +92,11 @@
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        android:gravity="center"
                        android:padding="6dp"
                        android:padding="4dp"
                        android:text="火车票"
                        android:textSize="13sp" />
                        android:textSize="14sp"
                        android:singleLine="true"
                        android:ellipsize="end" />
                </LinearLayout>
                <!-- 右侧图标区域 -->
@@ -94,28 +104,47 @@
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:orientation="horizontal"
                    android:gravity="center_vertical">
                    android:gravity="center_vertical"
                    android:layout_marginStart="2dp">
                    <ImageButton
                        android:id="@+id/categoryButton"
                        android:layout_width="28dp"
                        android:layout_height="28dp"
                        android:layout_marginEnd="8dp"
                        android:layout_width="26dp"
                        android:layout_height="26dp"
                        android:layout_marginEnd="4dp"
                        android:background="?attr/selectableItemBackgroundBorderless"
                        android:contentDescription="分类设置"
                        android:padding="4dp"
                        android:padding="3dp"
                        android:scaleType="fitCenter"
                        android:src="@drawable/home_add" />
                    <ImageButton
                        android:id="@+id/reminderButton"
                        android:layout_width="28dp"
                        android:layout_height="28dp"
                        android:background="?attr/selectableItemBackgroundBorderless"
                        android:contentDescription="提醒设置"
                        android:padding="4dp"
                        android:scaleType="fitCenter"
                        android:src="@drawable/reminder" />
                    <!-- 使用FrameLayout包装提醒按钮和红点,确保小红点完整显示 -->
                    <FrameLayout
                        android:layout_width="34dp"
                        android:layout_height="34dp">
                        <ImageButton
                            android:id="@+id/reminderButton"
                            android:layout_width="26dp"
                            android:layout_height="26dp"
                            android:layout_gravity="center"
                            android:background="?attr/selectableItemBackgroundBorderless"
                            android:contentDescription="提醒设置"
                            android:padding="3dp"
                            android:scaleType="fitCenter"
                            android:src="@drawable/reminder" />
                        <TextView
                            android:id="@+id/reminderBadge"
                            android:layout_width="14dp"
                            android:layout_height="14dp"
                            android:layout_gravity="top|end"
                            android:background="@drawable/circle_badge_background"
                            android:gravity="center"
                            android:textColor="#FFFFFF"
                            android:textSize="8sp"
                            android:visibility="gone" />
                    </FrameLayout>
                </LinearLayout>
            </LinearLayout>
@@ -123,7 +152,7 @@
            <FrameLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="16dp">
                >
                <androidx.recyclerview.widget.RecyclerView
                    android:id="@+id/express_recycler"