HarmonyOS 鸿蒙Next TextPickerDialog 文本显示不完整

发布于 1周前 作者 htzhanglong 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next TextPickerDialog 文本显示不完整

使用中, text是“测试444444444444”, 但只显示出了“测试”, 如何完整显示出来呢, 字体大小已调整的足够小了  

TextPickerDialog.show({
range: range,
selected: select,
disappearTextStyle: { color: ‘#A6606266’, font: { size: ‘17fp’, weight: FontWeight.Bold } },
textStyle: { color: ‘#4D606266’, font: { size: ‘16fp’, weight: FontWeight.Normal } },
selectedTextStyle: { color: Color.Blue, font: { size: ‘15fp’, weight: FontWeight.Regular } },
canLoop: false,
onAccept: (value: TextPickerResult) => {
},
onCancel: () => {
// callback?.onSuccess(new ZMDatePickerCallbackData(false), false) 
}
})

2 回复

需要更改TextPicker组件设置width属性值为100%的为自定义弹窗,参考

[@CustomDialog](/user/CustomDialog)
struct CustomDialogExample {
  controller?: CustomDialogController
  private select: number = 1
  private fruits: string[] = ['测试测试测试测试测试测试测试测试', 'orange2', 'peach3', 'grape4']

build() { Column() { TextPicker({ range: this.fruits, selected: this.select }) .onChange((value: string | string[], index: number | number[]) => { console.info('Picker item changed, value: ’ + value + ', index: ’ + index) }) .disappearTextStyle({color: Color.Red, font: {size: 15, weight: FontWeight.Lighter}}) .textStyle({color: Color.Black, font: {size: 20, weight: FontWeight.Normal}}) .selectedTextStyle({color: Color.Blue, font: {size: 30, weight: FontWeight.Bolder}}) .width(‘100%’) } .width(‘100%’) } }

@Entry @Component struct CustomDialogUser { @State textValue: string = ‘’ @State inputValue: string = ‘click me’ dialogController: CustomDialogController | null = new CustomDialogController({ builder: CustomDialogExample(), autoCancel: true, alignment: DialogAlignment.Center, offset: { dx: 0, dy: -20 }, gridCount: 4, customStyle: false, backgroundColor: 0xd9ffffff, cornerRadius: 20, width: ‘100%’, height: ‘500px’, borderWidth: 1, borderStyle: BorderStyle.Dashed,//使用borderStyle属性,需要和borderWidth属性一起使用 borderColor: Color.Blue,//使用borderColor属性,需要和borderWidth属性一起使用 shadow: ({ radius: 20, color: Color.Grey, offsetX: 50, offsetY: 0}), })

// 在自定义组件即将析构销毁时将dialogController置空 aboutToDisappear() { this.dialogController = null // 将dialogController置空 }

build() { Column() { Button(this.inputValue) .onClick(() => { if (this.dialogController != null) { this.dialogController.open() } }).backgroundColor(0x317aff) }.width(‘100%’).margin({ top: 5 }) } }

在HarmonyOS开发中,遇到TextPickerDialog文本显示不完整的问题,通常是由于对话框的布局或文本控件的属性设置不当导致的。以下是一些可能的解决方案:

  1. 检查对话框布局:确保TextPickerDialog的布局文件中,文本控件(如TextView)的宽度设置足够大,能够容纳所有文本内容。可以尝试使用match_parent或设置具体的dp值来确保宽度足够。

  2. 调整文本控件属性:检查文本控件的ellipsize属性,如果设置为marquee以外的值(如end),则文本在超出控件宽度时会被截断。可以尝试将ellipsize设置为none(如果文本长度固定且不会超出控件宽度)或marquee(如果希望文本滚动显示)。

  3. 检查对话框大小:如果对话框本身的大小设置不当,也可能导致内部文本控件显示不完整。可以通过调整对话框的宽高属性或设置适当的填充(padding)来解决。

  4. 字体大小和间距:检查文本控件的字体大小和行间距设置,确保它们不会导致文本内容被意外截断。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部