diff --git a/app/src/main/assets/fonts/alimama_shuhei_bold.ttf b/app/src/main/assets/fonts/alimama_shuhei_bold.ttf new file mode 100644 index 0000000..b20919e Binary files /dev/null and b/app/src/main/assets/fonts/alimama_shuhei_bold.ttf differ diff --git a/app/src/main/java/com/chick_mood/utils/FontUtils.kt b/app/src/main/java/com/chick_mood/utils/FontUtils.kt new file mode 100644 index 0000000..ccb9eaf --- /dev/null +++ b/app/src/main/java/com/chick_mood/utils/FontUtils.kt @@ -0,0 +1,64 @@ +package com.chick_mood.utils + +import android.content.Context +import android.graphics.Typeface +import android.util.Log + +/** + * 字体工具类 + * 用于从assets目录加载字体 + */ +object FontUtils { + + private var alimamaTypeface: Typeface? = null + + /** + * 获取阿里妈妈数黑体 + * @param context 上下文 + * @return Typeface对象 + */ + fun getAlimamaShuHeiBoldTypeface(context: Context): Typeface { + if (alimamaTypeface == null) { + try { + alimamaTypeface = Typeface.createFromAsset(context.assets, "fonts/alimama_shuhei_bold.ttf") + if (alimamaTypeface != null) { + Log.d("FontUtils", "阿里妈妈数黑体加载成功") + } else { + Log.w("FontUtils", "阿里妈妈数黑体加载失败,使用默认字体") + } + } catch (e: Exception) { + Log.e("FontUtils", "加载字体时出错: ${e.message}") + } + } + return alimamaTypeface ?: Typeface.DEFAULT + } + + /** + * 获取系统默认粗体字体 + * @param context 上下文 + * @return Typeface对象 + */ + fun getSystemBoldTypeface(context: Context): Typeface { + return Typeface.create("sans-serif", Typeface.BOLD) + } + + /** + * 应用阿里妈妈数黑体到TextView + * @param textView 目标TextView + * @param context 上下文 + */ + fun applyAlimamaShuHeiBold(textView: android.widget.TextView, context: Context) { + val typeface = getAlimamaShuHeiBoldTypeface(context) + textView.typeface = typeface + } + + /** + * 应用阿里妈妈数黑体到多个TextView + * @param textViews 目标TextView数组 + * @param context 上下文 + */ + fun applyAlimamaShuHeiBold(textViews: Array, context: Context) { + val typeface = getAlimamaShuHeiBoldTypeface(context) + textViews.forEach { it.typeface = typeface } + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_detail_button.xml b/app/src/main/res/drawable/bg_detail_button.xml new file mode 100644 index 0000000..cab6b25 --- /dev/null +++ b/app/src/main/res/drawable/bg_detail_button.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/card_selector.xml b/app/src/main/res/drawable/card_selector.xml new file mode 100644 index 0000000..79fb78a --- /dev/null +++ b/app/src/main/res/drawable/card_selector.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_button_ripple.xml b/app/src/main/res/drawable/shape_button_ripple.xml new file mode 100644 index 0000000..d7068e4 --- /dev/null +++ b/app/src/main/res/drawable/shape_button_ripple.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/claude.md b/claude.md index 5cc7081..7c0e72d 100644 --- a/claude.md +++ b/claude.md @@ -6,9 +6,9 @@ **项目名称:** 别摇小鸡心情记录App **开发平台:** Android原生(Kotlin) -**当前版本:** V1.4.0 -**更新日期:** 2025-10-24 -**开发状态:** ✅ 添加心情功能完成,摇晃检测和震动反馈集成 +**当前版本:** V1.4.1 +**更新日期:** 2025-10-27 +**开发状态:** ✅ UI和字体优化完成,等待下一步开发安排 --- @@ -628,6 +628,22 @@ Chick_Mood/ 3. **用户体验:** 摇晃检测灵敏度需要平衡,既不能太敏感也不能太迟钝 4. **数据一致性:** 确保整个流程中数据传递的准确性和完整性 +**2025-10-27 (V1.4.1 UI和字体优化)** +- ✅ **心情卡片UI重设计**:简洁清新风格,白色底色,三部分信息区域划分 +- ✅ **顶部设计优化**:心情文案标题 + 橙色"查看详情"文本按钮,醒目位置 +- ✅ **中间布局优化**:左侧1:1配图(100x100dp) + 右侧自适应文本(最多4行,超出显示"...") +- ✅ **底部设计简化**:只保留收藏和分享按钮,居右下角,符合用户习惯 +- ✅ **交互反馈增强**:按钮涟漪效果,选中卡片有主题色边框高亮 +- ✅ **卡片样式优化**:16dp圆角,3dp细腻阴影,4dp边距避免拥挤 +- ✅ **配图显示修复**:真实图片加载和显示,完善异常处理和回退机制 +- ✅ **阿里妈妈数黑体集成**: + - 字体文件配置:从font/阿里妈妈数黑体/目录复制AlimamaShuHeiTi-Bold.ttf到assets/fonts/ + - FontUtils工具类:assets方式字体加载,单例模式,完善异常处理 + - 应用范围:首页星期数文本、心情卡片文案、详情页心情文案、编辑页心情文案 + - 降级机制:字体加载失败时自动回退到系统默认字体 +- ✅ **构建和部署成功**:所有UI优化和字体配置已完成,APK成功构建并安装 +- ✅ **当前版本**:V1.4.1 UI和字体优化完成,等待下一步开发安排 + --- *此文档将随着开发进展持续更新,记录重要的技术决策和进度变化。* \ No newline at end of file