HarmonyOS Next Text練習

import { LengthMetrics, LengthUnit } from '@kit.ArkUI'
import Constants from '../../constants/Constants'

@Entry
@Component
@Preview
  // 文本介紹
struct MyTextPage {
  build() {
        Column() {
          // 普通文本加載
          Text("這是一段文本")

          // 通過引用Resource 資源方式進行文本加載
          Text($r('app.string.Home_title'))

          // 進行文本的修飾
          Text($r('app.string.Home_title'))
            .fontSize(16)
            .fontColor(Color.Red)//設置文本顏色
            .textAlign(TextAlign.Center) //居中對齊

          // 一段多個文本樣式的拼接
          Text() {
            Span("這是一段文本")
              .fontSize(16)
              .fontColor(Color.Yellow)
            Span("彩色的文本")
              .fontSize(18)
              .fontColor(Color.Red)
            Span("文本")
              .fontSize(16)
              .fontColor(Color.Black)
          }

          // 創(chuàng)建一個Text組件并設置多種字體相關樣式
          Text('Hello HarmonyOS !!!')
            .fontColor(Color.Red)// 設置字體顏色
            .fontSize(24)// 設置字體的大小
            .fontStyle(FontStyle.Italic)// 設置字體為斜體
            .fontWeight(FontWeight.Bold)// 設置字體加粗
            .font({
              size: 24,
              weight: FontWeight.Bold,
              family: 'Arial',
              style: FontStyle.Italic,
            })// 可以直接設置font的,
            .fontFamily('Arial')// 設置文本的字體為Arial
            .maxFontSize(28)//設置最大的字體
            .minFontSize(12)// 設置最小的字體
            .padding(10)// 設置內邊距
            .backgroundColor(Color.Blue)// 設置背景顏色
            .border({ width: 2, color: Color.Black })// 設置邊框大小&顏色
            .margin(10) // 設置外邊距

          // 這里我們實戰(zhàn)一個頁面, 隱私政策,用戶協(xié)議多使用到的
          Text() {
            Span("歡迎來到德萊聯(lián)盟")
              .fontColor(Color.Black)
              .fontSize(16)
            Span("<用戶協(xié)議>")
              .fontColor(Color.Red)
              .fontSize(16)
              .onClick(() => {
                console.log("點擊了用戶協(xié)議")
              })
            Span("與")
              .fontColor(Color.Black)
              .fontSize(16)
            Span("<隱私政策>")
              .fontColor(Color.Red)
              .fontSize(16)
              .onClick(() => {
                console.log("點擊了隱私政策")
              })
            Span("知了愛學.The Benefits of Reading Books Regularly Reading escape from reality, allowing us to recharge and reunification skills and enhances ")
              .fontColor(Color.Black)
              .fontSize(16)
          }
          .padding(10)
          .margin(10)
          .lineHeight(30)// 設置行高
          .textIndent(20) // 首行縮進
          .wordBreak(WordBreak.BREAK_ALL) //單詞展示的方式, 可以截取換行,也可以末尾換行展示, 單詞的完整性
          .lineSpacing(new LengthMetrics(10, LengthUnit.VP)) // 行間距
          .letterSpacing(2)// 字母之間的間隔

          // 設置文本的裝飾效果
          Text("知了愛學.The Benefits of Reading Books Regularly Reading escape from reality ")
            .textCase(TextCase.UpperCase) // 設置文本大寫
            .decoration({
              type: TextDecorationType.Underline,  // 裝飾線
              color: Color.Green, //顏色
              style: TextDecorationStyle.DASHED, //線的虛線
            })
            .textShadow({
              color: Color.Gray, // 陰影的顏色
              radius: 5, // 陰影的模糊半徑
              offsetX: 5, // 陰影偏移
              offsetY: 5,
            })
            .baselineOffset(10) // 基線的偏移量
            .fontSize(24)

          // 文本的截取展示
          Text("知了愛學.The Benefits of Reading Books Regularly Reading escape from reality")
            .maxLines(1)
            .textOverflow({
              overflow: TextOverflow.Ellipsis  // 省略號的方式進行展示, 或者直接截斷
            })
            .ellipsisMode(EllipsisMode.CENTER) //
            .lineBreakStrategy(LineBreakStrategy.BALANCED) // GREEDY 保證單詞的完整性 BALANCED 保證每行一樣
        }
      .width(Constants.FULL_PERCENT)
      .height(Constants.FULL_PERCENT)

  }
}

自動識別文本內的手機號,url.地址,時間,郵箱.需要真機來測試

@State phoneNumber:string = "18472636677"

  @State email: string = "12321312@qq.com"

  @State url: string = 'https://www.yjbys.com/lizhi/wenzhang/1108519.html'

  @State address: string = '北京市天安門廣場'

  @State dateTime: string = "2024-10-28 19:00:00"

  build() {
    Column(){
      Text(this.phoneNumber)
        .fontSize(20)
        .copyOption(CopyOptions.LocalDevice)
        .enableDataDetector(true) // 啟動數(shù)據(jù)檢測功能, 需要真機展示該效果
        .dataDetectorConfig({
          types: [TextDataDetectorType.PHONE_NUMBER, TextDataDetectorType.EMAIL, TextDataDetectorType.EMAIL,TextDataDetectorType.ADDRESS,TextDataDetectorType.DATE_TIME],
          onDetectResultUpdate:(result: string) => {
            console.log(result)
          }
        })
    }
名稱 參數(shù)類型 描述
textAlign TextAlign 設置文本段落在水平方向的對齊方式 默認值:TextAlign.Start
textOverflow TextOverflow 設置文本超長時的顯示方式尔当。默認值:{overflow: TextOverflow.Clip}
maxLines number 設置文本段落在水平方向的對齊方式 默認值:TextAlign.Start
lineHeight string / number /[Resource] 設置文本段落在水平方向的對齊方式 默認值:TextAlign.Start
decoration { type: TextDecorationType, color?: ResourceColor } 設置文本裝飾樣式及其顏色蹬叭。默認值:{type: TextDecorationType.None,color:Color.Black}
baselineOffset number /string 設置文本基線的偏移量罪治,默認值0。
letterSpacing number /string 設置文本字符間距较锡。
minFontSize number / string / [Resource] 設置文本最小顯示字號。需配合maxFontSize以及maxline或布局大小限制使用,單獨設置不生效骚腥。
maxFontSize number /string 設置文本最大顯示字號策橘。需配合minFontSize以及maxline或布局大小限制使用炸渡,單獨設置不生效。
textCase TextCase 設置文本大小寫丽已。默認值:TextCase.Normal
copyOption CopyOptions 組件支持設置文本是否可復制粘貼蚌堵。默認值:CopyOptions.None設置copyOptions為CopyOptions.InApp或者CopyOptions.LocalDevice,長按文本沛婴,會彈出文本選擇菜單吼畏,可選中文本并進行復制、全選操作
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末瘸味,一起剝皮案震驚了整個濱河市宫仗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌旁仿,老刑警劉巖藕夫,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件孽糖,死亡現(xiàn)場離奇詭異,居然都是意外死亡毅贮,警方通過查閱死者的電腦和手機办悟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來滩褥,“玉大人病蛉,你說我怎么就攤上這事」寮澹” “怎么了铺然?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長酒甸。 經(jīng)常有香客問我魄健,道長,這世上最難降的妖魔是什么插勤? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任沽瘦,我火速辦了婚禮,結果婚禮上农尖,老公的妹妹穿的比我還像新娘析恋。我一直安慰自己,他們只是感情好盛卡,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布助隧。 她就那樣靜靜地躺著,像睡著了一般窟扑。 火紅的嫁衣襯著肌膚如雪喇颁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天嚎货,我揣著相機與錄音橘霎,去河邊找鬼。 笑死殖属,一個胖子當著我的面吹牛姐叁,可吹牛的內容都是我干的。 我是一名探鬼主播洗显,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼外潜,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了挠唆?” 一聲冷哼從身側響起处窥,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎玄组,沒想到半個月后滔驾,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谒麦,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年哆致,在試婚紗的時候發(fā)現(xiàn)自己被綠了绕德。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡摊阀,死狀恐怖耻蛇,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情胞此,我是刑警寧澤臣咖,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站豌鹤,受9級特大地震影響亡哄,放射性物質發(fā)生泄漏。R本人自食惡果不足惜布疙,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望愿卸。 院中可真熱鬧灵临,春花似錦、人聲如沸趴荸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽发钝。三九已至顿涣,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間酝豪,已是汗流浹背涛碑。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留孵淘,地道東北人蒲障。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像瘫证,于是被迫代替她去往敵國和親揉阎。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內容