简介
自动调整文本大小以完全适合其边界的TextView。
效果展示
下载安装
ohpm install @ohos/autofittextview
使用说明
初始化
@State content: string= ''
@State textSize: number= 20
@State maxLines: number= 2
@State width: string= '100%'
@State model: AutofitTextView.Model= new AutofitTextView.Model()
设置属性
private aboutToAppear() {
this.model.setWidth(this.width)
this.model.setText(this.content)
this.model.setMaxLines(2)
this.model.setTextSize(10,TypedValue.COMPLEX_UNIT_PX)
this.model.setMinTextSize(2)
this.model.setMaxTextSize(40)
}
在build中使用
build() {
Column() {
AutofitTextView({ model: this.model });
}
.alignItems(HorizontalAlign.Start)
.padding(10)
.width('100%')
.height('100%')
}
接口说明
@State model: AutofitTextView.Model= new AutofitTextView.Model()
- 设置控件宽度
model.setWidth('100%')
- 设置字体大小
model.setTextSize(10,TypedValue.COMPLEX_UNIT_PX)
- 设置最大字体
model.setMaxTextSize(40)
- 设置最小字体
model.setMinTextSize(2)
- 设置最大显示行数
model.setMaxLines(2)
- 设置文本内容
model.setText('test')
- 设置背景颜色
model.setBackgroundColor(0XD1C9C9)
- 设置滚动条大小
model.setTextOverflow(32)
- 是否开启自适应大小
model.isSizeToFit()
- 设置开启自适应大小
model.setSizeToFit(true)
- 获取最大字体
model.getMaxTextSize()
- 获取最小字体
model.getMinTextSize()
- 设置正确文本大小的精度值
model.setPrecision(1)
- 获取正确文本大小的精度值
model.getPrecision()
约束与限制
在下述版本验证通过:
- DDevEco Studio NEXT Developer Beta3: (5.0.3.530), SDK: API12 (5.0.0.35(SP3))
目录结构
|---- ohos-autofittextview
| |---- entry # 示例代码文件夹
| |---- Autofittextview # autofittextview库文件夹
|---- scr/main/ets/Autofittextview # 自定义的Text控件
|---- scr/main/ets/TypedValue # 字体大小单位枚举类
| |---- index.ets # 对外接口
| |---- README.md # 安装使用方法