feat: V1.4.1 UI和字体优化完成
- 阿里妈妈数黑体集成:完成字体文件配置、FontUtils工具类和应用 - 心情卡片UI重设计:简洁清新风格,三部分信息区域划分 - 交互反馈增强:按钮涟漪效果、选中卡片高亮 - 配图显示修复:真实图片加载和完整异常处理 - 版本升级:V1.4.1 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
37e1f1bd3e
commit
709e2ba044
BIN
app/src/main/assets/fonts/alimama_shuhei_bold.ttf
Normal file
BIN
app/src/main/assets/fonts/alimama_shuhei_bold.ttf
Normal file
Binary file not shown.
64
app/src/main/java/com/chick_mood/utils/FontUtils.kt
Normal file
64
app/src/main/java/com/chick_mood/utils/FontUtils.kt
Normal file
@ -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<android.widget.TextView>, context: Context) {
|
||||
val typeface = getAlimamaShuHeiBoldTypeface(context)
|
||||
textViews.forEach { it.typeface = typeface }
|
||||
}
|
||||
}
|
||||
6
app/src/main/res/drawable/bg_detail_button.xml
Normal file
6
app/src/main/res/drawable/bg_detail_button.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners android:radius="8dp" />
|
||||
<solid android:color="#FFAC46" />
|
||||
</shape>
|
||||
16
app/src/main/res/drawable/card_selector.xml
Normal file
16
app/src/main/res/drawable/card_selector.xml
Normal file
@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_pressed="true">
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#1A000000" />
|
||||
<corners android:radius="16dp" />
|
||||
<stroke android:width="2dp" android:color="#FFAC46" />
|
||||
</shape>
|
||||
</item>
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="@android:color/transparent" />
|
||||
<corners android:radius="16dp" />
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
||||
9
app/src/main/res/drawable/shape_button_ripple.xml
Normal file
9
app/src/main/res/drawable/shape_button_ripple.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:color="#33FFFFFF">
|
||||
<item android:id="@android:id/background">
|
||||
<shape android:shape="oval">
|
||||
<solid android:color="@android:color/transparent" />
|
||||
</shape>
|
||||
</item>
|
||||
</ripple>
|
||||
22
claude.md
22
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和字体优化完成,等待下一步开发安排
|
||||
|
||||
---
|
||||
|
||||
*此文档将随着开发进展持续更新,记录重要的技术决策和进度变化。*
|
||||
Loading…
x
Reference in New Issue
Block a user