Skip to main content
版本:v3+

TEXT

API_LEVEL 2.0 开始支持,API 兼容性请参考 API_LEVEL。

text_sample

文本控件用于展示文本。支持设置文本大小、颜色、对齐方式、字体。

创建 UI 控件​

import { createWidget, widget } from '@zos/ui'

const text = createWidget(widget.TEXT, Param)

类型​

Param: object​

属性备注是否必须类型
x控件 x 坐标是number
y控件 y 坐标是number
w控件显示宽度是number
h控件显示高度是number
color文本颜色否number
align_h横轴对齐方式(值见 ALIGN)否ALIGN
align_v竖轴对齐方式(值见 ALIGN)否ALIGN
text文本否string
text_size字体大小否number
text_style文本超长处理方式 默认为跑马灯(值见 TEXT_STYLE)否TEXT_STYLE
line_space行间距否number
char_space字符间距否number
font字体路径,资源存放路径参考 目录结构否string
text_i18n多国语言文本支持,参考代码示例,其中 'en-US' 字段必填,当没有配置当前国家语言,会使用 'en-US' 的值,以此方式传入时,text 属性失效,否object
start_angle弧形布局起始角度否number
end_angle弧形布局结束角度(start_angle < end_angle)否number
mode弧形布局模式,默认 0
0: inner
1: outer
否number
radius控制弧形布局半径,默认为控件宽高的一半。否number

ALIGN 对齐方式​

值说明
align.LEFT横轴-左对齐
align.RIGHT横轴-右对齐
align.CENTER_H横轴-居中
align.TOP竖轴-最上端
align.BOTTOM竖轴-最底端
align.CENTER_V竖轴-居中

TEXT_STYLE 文本排版​

值说明
text_style.ELLIPSIS单行溢出字符显示...
text_style.NONE跑马灯
text_style.WRAP换行

属性访问支持列表​

属性名setPropertygetPropertysettergetter
xYYYY
yYYYY
wYYYY
hYYYY
colorYYYY
align_hYYYY
align_vYYYY
textYYYY
text_sizeYYYY
fontYYYY
text_styleYYYY
line_spaceYYYY
char_spaceYYYY
text_i18nNNYY
start_angleNNNN
end_angleNNNN
modeNNNN
radiusNNNN

代码示例​

import { createWidget, widget, align, prop, text_style, event } from '@zos/ui'

Page({
build() {
const text = createWidget(widget.TEXT, {
x: 96,
y: 120,
w: 288,
h: 46,
color: 0xffffff,
text_size: 36,
align_h: align.CENTER_H,
align_v: align.CENTER_V,
text_style: text_style.NONE,
text: 'HELLO, Zepp OS',
})

text.addEventListener(event.CLICK_DOWN, (info) => {
text.setProperty(prop.MORE, {
y: 200
})
})

const textWithFont = createWidget(widget.TEXT, {
x: 96,
y: 300,
w: 288,
h: 46,
color: 0xffffff,
text_size: 36,
align_h: align.CENTER_H,
align_v: align.CENTER_V,
text_style: text_style.NONE,
font: 'fonts/custom.ttf',
text_i18n: {
'en-US': 'Hello Zepp OS'
'zh-CN': '你好 Zepp OS'
}
})
}
})

补充示例​

示例 1​

import { align, createWidget, widget } from '@zos/ui'

createWidget(widget.TEXT, {
x: 0,
y: 0,
w: 200,
h: 200,
text: 'hello',
color: 0x34e073,
align_h: align.LEFT,
font: 'fonts/Pacifico-Regular.ttf',
})

示例 2​

import { align, createWidget, widget } from '@zos/ui'

const rootContainer = createWidget(widget.VIRTUAL_CONTAINER, {
layout: { x: '10vw', y: '10vh', width: '80vw', height: '50vh' },
})

const groupRoot = createWidget(widget.GROUP, {
parent: rootContainer,
layout: {
display: 'flex',
'flex-flow': 'row wrap',
'column-gap': '20',
'row-gap': '10',
'justify-content': 'space-evenly',
'align-items': 'center',
width: '100%',
height: '100%',
},
})

for (let i = 0; i < 3; i += 1) {
groupRoot.createWidget(widget.TEXT, {
text: 'hello zepp os',
color: 0x34e073,
align_v: align.CENTER_V,
layout: {
width: '30%',
height: '25%',
'font-size': '16',
},
})
}