HarmonyOS鸿蒙Next中如何实现垂直排列的文本
HarmonyOS鸿蒙Next中如何实现垂直排列的文本 由于考虑到有英文的情况,所以仅仅像这篇里面设置下宽度是不可行的,有什么更好的办法实现垂直排列文本呢
但是这种方法性能不好,只适用于短文本,还是需要官方尽快实现需求
@Entry
@Component
struct VerticalText {
private text: string = '通用文本test测试';
@State message: string[] = [];
aboutToAppear(): void {
this.message = this.text.split('');
}
build() {
Column() {
ForEach(this.message, (item: string) => {
if (isChinese(item)) {
Text(item)
.fontSize(14)
} else {
Text(item)
.fontSize(14)
.rotate({
x: 0,
y: 0,
z: 1,
centerX: '50%',
centerY: '50%',
angle: 90
})
}
})
}
}
}
function isChinese(text: string): boolean {
for (let i = 0; i < text.length; i++) {
const charCode = text.charCodeAt(i);
// 汉字字符的Unicode范围大致是从4E00到9FA5
if (charCode >= 0x4E00 && charCode <= 0x9FA5) {
return true;
}
}
return false;
}
更多关于HarmonyOS鸿蒙Next中如何实现垂直排列的文本的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
的确是这样,
像 是 横 向 的 文 本 , 然 后 旋 转 了 90 度,
在HarmonyOS鸿蒙Next中,实现垂直排列的文本可以通过使用Text组件和Stack布局来实现。Stack布局允许子组件在垂直方向上堆叠,而Text组件可以设置文本内容和样式。具体步骤如下:
-
创建
Stack布局:Stack布局是鸿蒙中用于堆叠子组件的容器。你可以通过Stack组件来创建一个垂直排列的布局。 -
添加
Text组件:在Stack布局中添加多个Text组件,每个Text组件代表一行垂直排列的文本。 -
设置文本样式:通过
Text组件的属性设置文本的样式,如字体大小、颜色等。
示例代码如下:
import { Stack, Text } from '@ohos/arkui';
class VerticalTextExample extends Component {
build() {
return Stack() {
Text('第一行文本')
.fontSize(20)
.fontColor('#000000');
Text('第二行文本')
.fontSize(20)
.fontColor('#000000');
Text('第三行文本')
.fontSize(20)
.fontColor('#000000');
}
.width('100%')
.height('100%')
.justifyContent(FlexAlign.Center);
}
}
在这个示例中,Stack布局包含了三个Text组件,每个Text组件代表一行垂直排列的文本。通过justifyContent(FlexAlign.Center)可以将文本在垂直方向上居中对齐。
在HarmonyOS鸿蒙Next中,可以使用Text组件与Column布局容器实现垂直排列的文本。Column组件默认将子组件垂直排列,将多个Text组件放入Column中即可实现垂直排列。示例代码如下:
struct VerticalTextExample {
build() {
Column() {
Text('第一行文本')
.fontSize(20)
Text('第二行文本')
.fontSize(20)
Text('第三行文本')
.fontSize(20)
}
.alignItems(HorizontalAlign.Start) // 设置文本对齐方式
.padding(10)
}
}
通过Column容器,可以轻松实现文本的垂直排列。


