HarmonyOS 有没有适老化的最佳实践或demo?

有没有适老化的最佳实践或demo,在系统设置中调大字体后,应用内的布局将非常丑陋。希望有一个最大和最小的字号,无论用户怎么调整,字号只会在这两个值范围内变化。maxFontSize和minFontSize配合maxLine并不起作用。

HarmonyOS
2024-11-28 08:56:50
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple
// xxx.ets 
import measure from '@ohos.measure' 
 
@Entry 
@Component 
struct TextInputExample { 
  @State text: string = '' 
  @State truncatedHint: string = "文本未截断" 
  controller: TextInputController = new TextInputController() 
 
  build() { 
    Column() { 
      TextInput({ text: this.text, placeholder: 'input your word...', controller: this.controller }) 
        .placeholderColor(Color.Grey) 
        .placeholderFont({ size: 14, weight: 400 }) 
        .caretColor(Color.Blue) 
        .width(400) 
        .height(40) 
        .margin(20) 
        .fontSize(14) 
        .fontColor(Color.Black) 
        .onChange((value: string) => { 
          this.text = value 
          let textSizeShow1 : SizeOptions = measure.measureTextSize({ 
            textContent: this.text, 
            constraintWidth: 100, 
            fontSize: 14, 
            overflow: TextOverflow.Ellipsis, 
            maxLines: 2 
          }) 
          let textSizeShow2 : SizeOptions = measure.measureTextSize({ 
            textContent: this.text + " ", 
            constraintWidth: 100, 
            fontSize: 14, 
            overflow: TextOverflow.Ellipsis, 
            maxLines: 2000000 
          }) 
          console.log("tag textSizeShow1.height="+ textSizeShow1.height); 
          console.log("tagtextSizeShow2.height="+ textSizeShow2.height); 
 
          if (textSizeShow2 && textSizeShow1 && textSizeShow2?.height && textSizeShow1?.height && (textSizeShow2?.height > textSizeShow1?.height)) { 
            console.log("tag 文本截断") 
            this.truncatedHint =  "文本截断" 
          } else { 
            console.log("tag文本未截断") 
            this.truncatedHint =  "文本未截断" 
          } 
        }) 
      Text(this.text) 
        .maxLines(2) 
        .width(100) 
        .textOverflow({overflow: TextOverflow.Ellipsis}) 
        .border({ width: 1 }) 
        .minFontSize(14) 
        .maxFontSize(24) 
      Text(this.truncatedHint) 
 
    }.width('100%') 
  } 
}
分享
微博
QQ
微信
回复
2024-11-28 14:55:16
相关问题
老化模式字体放大咨询
265浏览 • 1回复 待解决
HarmonyOS jsBridge 最佳实践
255浏览 • 1回复 待解决
网络监听最佳实践有哪些?
431浏览 • 1回复 待解决
应用内整体换肤最佳实践
430浏览 • 1回复 待解决
HarmonyOS 有没有蓝牙,NFC相关DEMO
301浏览 • 1回复 待解决
HarmonyOS有没有蓝牙相关操作demo
329浏览 • 1回复 待解决
HarmonyOS 沉浸式状态栏最佳实践
286浏览 • 1回复 待解决
HarmonyOS 单列和瀑布流最佳实践
232浏览 • 1回复 待解决
输出静态库最佳实践
208浏览 • 1回复 待解决
视频和直播播放HarmonyOS最佳实践
711浏览 • 1回复 待解决
web写入customUseragent最佳实践
230浏览 • 1回复 待解决
APP内整体置灰最佳实践
260浏览 • 1回复 待解决
HarmonyOS有没有通用工具类样例Demo
364浏览 • 1回复 待解决
有没有napi一些demo
380浏览 • 3回复 待解决