背景
来自于 需求的视觉设计要求
- 限制字段长度为320px
- 超长时按宽度缩小字号
- TextView底色高度固定
- 字体缩小步进1sp
难点
课程卡片为自定义View,封装信息层组件,通过锚定基准比例实时计算获取以下对应信息:
- Radius
- ImageWidth
- ImageHeight
- Magin
- Padding
- TextSize
动态数据加载,等待后端返回参数进行以下设置:
- Background
- Color
- Text
主流实现方案
采用AppCompactTextView的内部属性,必须设置:
- 动态变化字体大小适应长度标志位:uniform
- 字体缩小步长:2sp
- 字体缩小后的最小字体大小:5sp (必须配置 否则放缩不生效)
android:autoSizeMinTextSize="5sp"
android:autoSizeStepGranularity="2sp"
android:autoSizeTextType="uniform"