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容器,可以轻松实现文本的垂直排列。
        
      
                  
                  
                  

