天天看點

#Dayu200體驗官# 第二章 openharmony eTS之常用控件#Dayu200體驗官#第二章 openharmony eTS之常用控件

#Dayu200體驗官#第二章 openharmony eTS之常用控件

一、eTS之 Text控件講解

1、Text參數

Text(content?: string)

參數名 參數類型 必填 預設值 參數描述
content string "" 文本内容,包含子元件Span時不生效,顯示Span内容。

2、Text屬性

名稱 參數類型 預設值 描述
textAlign TextAlign TextAlign.Start 設定多行文本的文本對齊方式。
textOverflow {overflow: TextOverflow} {overflow: TextOverflow.Clip} 設定文本超長時的顯示方式。 說明: 文本截斷是按字截斷。例如,英文以單詞為最小機關進行截斷,若需要以字母為機關進行截斷,可在字母間添加零寬空格:\u200B。
maxLines number Infinity 設定文本的最大行數。
lineHeight Length - 設定文本的文本行高,設定值不大于0時,不限制文本行高,自适應字型大小,Length為number類型時機關為fp。
decoration { type: TextDecorationType, color?: Color } { type: TextDecorationType.None, color:Color.Black } 設定文本裝飾線樣式及其顔色。
baselineOffset Length - 設定文本基線的偏移量。
textCase TextCase TextCase.Normal 設定文本大小寫。
  • TextAlign枚舉說明
    名稱 描述
    Center 文本居中對齊。
    Start 根據文字書寫相同的方向對齊。
    End 根據文字書寫相反的方向對齊。
  • TextOverflow枚舉說明
    名稱 描述
    Clip 文本超長時進行裁剪顯示。
    Ellipsis 文本超長時顯示不下的文本用省略号代替。
    None 文本超長時不進行裁剪。
  • TextDecorationType枚舉說明
    名稱 描述
    Underline 文字下劃線修飾。
    LineThrough 穿過文本的修飾線。
    Overline 文字上劃線修飾。
    None 不使用文本裝飾線。
  • TextCase枚舉說明
    名稱 描述
    Normal 保持文本原有大小寫。
    LowerCase 文本采用全小寫。
    UpperCase 文本采用全大寫。

3、Text控件上手實戰

①、示例代碼:

@Entry
@Component
struct Textyukoyu {
  @State srtText: string = "hello 51CTO";
  build() {
    Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
      Text('Hello World') //test控件使用示例1
        .fontSize(50)
        .fontWeight(FontWeight.Bold)

      Text(this.srtText) //test控件使用示例2
        .fontSize(60)
        .fontWeight(FontWeight.Bold)
        .fontColor("#e94674")
    }
    .width('100%')
    .height('100%')
  }
}
           

②、預覽器效果

#Dayu200體驗官# 第二章 openharmony eTS之常用控件#Dayu200體驗官#第二章 openharmony eTS之常用控件

二、eTS之 Button控件講解

1、 Button參數

  • Button(options?: {type?: ButtonType, stateEffect?: boolean})

    表1 options參數說明

    參數名 參數類型 必填 預設值 參數描述
    type ButtonType Capsule 描述按鈕風格。
    stateEffect boolean true 按鈕按下時是否開啟切換效果,當狀态置為false時,點選效果關閉。
  • Button(label?: string, options?: { type?: ButtonType, stateEffect?: boolean })

    使用文本内容建立相應的按鈕元件,此時Button無法包含子元件。

    表2 value參數說明

    參數名 參數類型 必填 預設值 參數描述
    label string - 按鈕文本内容。
    options Object - 見options參數說明。

2、 Button屬性

名稱 參數類型 預設值 描述
type ButtonType Capsule 設定Button樣式。
stateEffect boolean true 狀态切換時是否開啟切換效果,當狀态置為false時,點選效果關閉。
  • ButtonType枚舉說明
    名稱 描述
    Capsule 膠囊型按鈕(圓角預設為高度的一半)。
    Circle 圓形按鈕。
    Normal 普通按鈕(預設不帶圓角)。

3、 Button控件上手實戰

①、示例代碼

@Entry
@Component
struct Buttonyukoyu {
  @State srtbutton: string = "hello world!";
  build() {
    Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
      Text(this.srtbutton)
        .fontSize(50)
        .fontWeight(FontWeight.Bold)

      Button() {    //按鈕控件
        Text('點選')
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
      }.type(ButtonType.Capsule)
      .margin({
        top: 200
      })
      .width('50%')
      .height('10%')
      .backgroundColor('#0D9FFB')
      .onClick(() => {    //點選事件
          this.srtbutton = "hello 51CTO!"
      })
    }
    .width('100%')
    .height('100%')
  }
}
           

②、預覽器效果

點選前:
#Dayu200體驗官# 第二章 openharmony eTS之常用控件#Dayu200體驗官#第二章 openharmony eTS之常用控件
點選後:
#Dayu200體驗官# 第二章 openharmony eTS之常用控件#Dayu200體驗官#第二章 openharmony eTS之常用控件

三、eTS之Image控件講解

1、 Image參數

Image(value: {uri: string | PixelMap})

權限:ohos.permission.INTERNET(使用網絡圖檔)

  • 參數
    參數名 參數類型 必填 預設值 參數描述
    uri string - 圖檔的uri,支援本地圖檔和網絡路徑。

2、 Image屬性

名稱 參數類型 預設值 描述
alt string - 加載時顯示的占位圖。支援本地圖檔和網絡路徑。
objectFit ImageFit Cover 設定圖檔的縮放類型。
objectRepeat ImageRepeat NoRepeat 設定圖檔的重複樣式。 > 說明: > - SVG類型圖源不支援該屬性。
interpolation ImageInterpolation None 設定圖檔的插值效果,僅針對圖檔放大插值。 > 說明: > - SVG類型圖源不支援該屬性。 > > - PixelMap資源不支援該屬性。
renderMode ImageRenderMode Original 設定圖檔渲染的模式。 > 說明: > - SVG類型圖源不支援該屬性。
sourceSize { width: number, height: number } - 設定圖檔解碼尺寸,将原始圖檔解碼成指定尺寸的圖檔,number類型機關為px。 > 說明: > PixelMap資源不支援該屬性。
syncLoad8+ boolean false 設定是否同步加載圖檔,預設是異步加載。同步加載時阻塞UI線程,不會顯示占位圖。
  • ImageFit枚舉說明
    名稱 描述
    Cover 保持寬高比進行縮小或者放大,使得圖檔兩邊都大于或等于顯示邊界。
    Contain 保持寬高比進行縮小或者放大,使得圖檔完全顯示在顯示邊界内。
    Fill 不保持寬高比進行放大縮小,使得圖檔填充滿顯示邊界。
    None 保持原有尺寸顯示。通常配合objectRepeat屬性一起使用。
    ScaleDown 保持寬高比顯示,圖檔縮小或者保持不變。
  • ImageInterpolation枚舉說明
    名稱 描述
    None 不使用插值圖檔資料。
    High 高度使用插值圖檔資料,可能會影響圖檔渲染的速度。
    Medium 中度使用插值圖檔資料。
    Low 低度使用插值圖檔資料。
  • ImageRenderMode枚舉說明
    名稱 描述
    Original 按照原圖進行渲染,包括顔色。
    Template 将圖像渲染為模闆圖像,忽略圖檔的顔色資訊。

3、 Image控件上手實戰

①、代碼示例

@Entry
@Component
struct Imageyukoyu {
  build() {
    Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
      Text('image控件')
        .fontSize(50)
        .fontWeight(FontWeight.Bold)

      Image($r("app.media.icon")) //使用本地圖檔
        .width(200)
        .height(200)
        .border({ width: 1 })
        .borderStyle(BorderStyle.Dashed)
        .syncLoad(false)

      Image("http://www.news.cn/politics/leaders/2022-05/24/1128679005_16534016367591n.jpg") //網絡圖檔
        .width(1080)
        .height(400)
        .border({ width: 1 })
        .borderStyle(BorderStyle.Dashed)
        .syncLoad(false)
    }
    .width('100%')
    .height('100%')
  }
}
           

②、使用網絡圖檔添加網絡權限

添加:

"reqPermissions": [
  {
    "name": "ohos.permission.INTERNET"
  }
           
#Dayu200體驗官# 第二章 openharmony eTS之常用控件#Dayu200體驗官#第二章 openharmony eTS之常用控件

③、預覽器效果