HarmonyOS API:通用属性

joytrian
发布于 2023-3-23 12:05
浏览
0收藏

版本:v3.1 Beta

文本样式设置

更新时间: 2023-02-17 09:40


针对包含文本元素的组件,设置文本样式。


说明

从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

属性

名称

参数类型

描述

fontColor

​ResourceColor​

设置字体颜色。

fontSize

​Length​

设置字体大小,Length为number类型时,使用fp单位。字体默认大小16。不支持设置百分比字符串。

fontStyle

​FontStyle​

设置字体样式。

默认值:FontStyle.Normal

fontWeight

number | ​​FontWeight​​ | string

设置文本的字体粗细,number类型取值[100, 900],取值间隔为100,默认为400,取值越大,字体越粗。string类型仅支持number类型取值的字符串形式,例如"400",以及"bold"、"bolder"、"lighter"、"regular"、"medium",分别对应FontWeight中相应的枚举值。

默认值:FontWeight.Normal

fontFamily

string | ​​Resource​

设置字体列表。默认字体'HarmonyOS Sans',且当前只支持这种字体。

示例

// xxx.ets
@Entry
@Component
struct TextStyleExample {
  build() {
    Column({ space: 5 }) {
      Text('default text')
      
      Text('text font color red').fontColor(Color.Red)
      
      Text('text font default')
      Text('text font size 10').fontSize(10)
      Text('text font size 10fp').fontSize('10fp')
      Text('text font size 20').fontSize(20)
      
      Text('text font style Italic').fontStyle(FontStyle.Italic)
      
      Text('text fontWeight bold').fontWeight(700)
      Text('text fontWeight lighter').fontWeight(FontWeight.Lighter)
      
      Text('red 20 Italic bold text')
        .fontColor(Color.Red)
        .fontSize(20)
        .fontStyle(FontStyle.Italic)
        .fontWeight(FontWeight.Bold)
      
      Text('Orange 18 Normal text')
        .fontColor(Color.Orange)
        .fontSize(18)
        .fontStyle(FontStyle.Normal)
    }.width('100%')
  }
}

HarmonyOS API:通用属性 -鸿蒙开发者社区

栅格设置

更新时间: 2023-02-17 09:19


说明

  • 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
  • 栅格布局的列宽、列间距由距离最近的GridContainer父组件决定。使用栅格属性的组件树上至少需要有1个GridContainer容器组件。

属性

名称

参数类型

描述

useSizeType

{

xs?: number | { span: number, offset: number },

sm?: number | { span: number, offset: number },

md?: number | { span: number, offset: number },

lg?: number | { span: number, offset: number }

}

设置在特定设备宽度类型下的占用列数和偏移列数,span: 占用列数; offset: 偏移列数。

当值为number类型时,仅设置列数, 当格式如{"span": 1, "offset": 0}时,指同时设置占用列数与偏移列数。

- xs: 指设备宽度类型为SizeType.XS时的占用列数和偏移列数。

- sm: 指设备宽度类型为SizeType.SM时的占用列数和偏移列数。

- md: 指设备宽度类型为SizeType.MD时的占用列数和偏移列数。

- lg: 指设备宽度类型为SizeType.LG时的占用列数和偏移列数。

gridSpan

number

默认占用列数,指useSizeType属性没有设置对应尺寸的列数(span)时,占用的栅格列数。

说明:

设置了栅格span属性,组件的宽度由栅格布局决定。

默认值:1

gridOffset

number

默认偏移列数,指useSizeType属性没有设置对应尺寸的偏移(offset)时, 当前组件沿着父组件Start方向,偏移的列数,也就是当前组件位于第n列。

说明:

- 配置该属性后,当前组件在父组件水平方向的布局不再跟随父组件原有的布局方式,而是沿着父组件的Start方向偏移一定位移。

- 偏移位移 = (列宽 + 间距)* 列数。

- 设置了偏移(gridOffset)的组件之后的兄弟组件会根据该组件进行相对布局,类似相对布局。

默认值:0

示例

// xxx.ets
@Entry
@Component
struct GridContainerExample1 {
  build() {
    Column() {
      Text('useSizeType').fontSize(15).fontColor(0xCCCCCC).width('90%')
      GridContainer() {
        Row({}) {
          Row() {
            Text('Left').fontSize(25)
          }
          .useSizeType({
            xs: { span: 1, offset: 0 }, sm: { span: 1, offset: 0 },
            md: { span: 1, offset: 0 }, lg: { span: 2, offset: 0 }
          })
          .height("100%")
          .backgroundColor(0x66bbb2cb)

          Row() {
            Text('Center').fontSize(25)
          }
          .useSizeType({
            xs: { span: 1, offset: 0 }, sm: { span: 2, offset: 1 },
            md: { span: 5, offset: 1 }, lg: { span: 7, offset: 2 }
          })
          .height("100%")
          .backgroundColor(0x66b6c5d1)

          Row() {
            Text('Right').fontSize(25)
          }
          .useSizeType({
            xs: { span: 1, offset: 0 }, sm: { span: 1, offset: 3 },
            md: { span: 2, offset: 6 }, lg: { span: 3, offset: 9 }
          })
          .height("100%")
          .backgroundColor(0x66bbb2cb)
        }
        .height(200)

      }
      .backgroundColor(0xf1f3f5)
      .margin({ top: 10 })

      // 单独设置组件的span和offset,在sm尺寸大小的设备上使用useSizeType中sm的数据实现一样的效果
      Text('gridSpan,gridOffset').fontSize(15).fontColor(0xCCCCCC).width('90%')
      GridContainer() {
        Row() {
          Row() {
            Text('Left').fontSize(25)
          }
          .gridSpan(1)
          .height("100%")
          .backgroundColor(0x66bbb2cb)

          Row() {
            Text('Center').fontSize(25)
          }
          .gridSpan(2)
          .gridOffset(1)
          .height("100%")
          .backgroundColor(0x66b6c5d1)

          Row() {
            Text('Right').fontSize(25)
          }
          .gridSpan(1)
          .gridOffset(3)
          .height("100%")
          .backgroundColor(0x66bbb2cb)
        }.height(200)
      }
    }
  }
}

图1 设备宽度为SM

HarmonyOS API:通用属性 -鸿蒙开发者社区

图2 设备宽度为MD

HarmonyOS API:通用属性 -鸿蒙开发者社区

图3 设备宽度为LG

HarmonyOS API:通用属性 -鸿蒙开发者社区

图4 单独设置gridSpan和gridOffset在特定屏幕大小下的效果与useSizeType效果一致

HarmonyOS API:通用属性 -鸿蒙开发者社区

颜色渐变

更新时间: 2023-02-17 09:19


设置组件的颜色渐变效果。


说明

从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

属性

名称

参数类型

描述

linearGradient

{

angle?: number | string,

direction?: ​​GradientDirection​​,

colors: Array<​​ColorStop​​>,

repeating?: boolean

}

线性渐变。

- angle: 线性渐变的起始角度。0点方向顺时针旋转为正向角度。

默认值:180

- direction: 线性渐变的方向,设置angle后不生效。

默认值:GradientDirection.Bottom

- colors: 为渐变的颜色描述。

- repeating: 为渐变的颜色重复着色。

默认值:false

sweepGradient

{

center: Point,

start?: number | string,

end?: number | string,

rotation?: number|string,

colors: Array<​​ColorStop​​>,

repeating?: boolean

}

角度渐变。

- center:为角度渐变的中心点,即相对于当前组件左上角的坐标。

- start:角度渐变的起点。

默认值:0

- end:角度渐变的终点。

默认值:0

- rotation: 角度渐变的旋转角度。

默认值:0

- colors: 为渐变的颜色描述。

- repeating: 为渐变的颜色重复着色。

默认值:false

radialGradient

{

center: Point,

radius: number | string,

colors: Array<​​ColorStop​​>,

repeating?: boolean

}

径向渐变。

- center:径向渐变的中心点,即相对于当前组件左上角的坐标。

- radius:径向渐变的半径。

- colors: 为渐变的颜色描述。

- repeating: 为渐变的颜色重复着色。

默认值:false

示例

// xxx.ets
@Entry
@Component
struct ColorGradientExample {
  build() {
    Column({ space: 5 }) {
      Text('linearGradient').fontSize(12).width('90%').fontColor(0xCCCCCC)
      Row()
        .width('90%')
        .height(50)
        .linearGradient({
          angle: 90,
          colors: [[0xff0000, 0.0], [0x0000ff, 0.3], [0xffff00, 1.0]]
        })
      Text('linearGradient Repeat').fontSize(12).width('90%').fontColor(0xCCCCCC)
      Row()
        .width('90%')
        .height(50)
        .linearGradient({
          direction: GradientDirection.Left, // 渐变方向
          repeating: true, // 渐变颜色是否重复
          colors: [[0xff0000, 0.0], [0x0000ff, 0.3], [0xffff00, 0.5]] // 数组末尾元素占比小于1时满足重复着色效果
        })
    }
    .width('100%')
    .padding({ top: 5 })
  }
}

HarmonyOS API:通用属性 -鸿蒙开发者社区

@Entry
@Component
struct ColorGradientExample {
  build() {
    Column({ space: 5 }) {
      Text('sweepGradient').fontSize(12).width('90%').fontColor(0xCCCCCC)
      Row()
        .width(100)
        .height(100)
        .sweepGradient({
          center: [50, 50],
          start: 0,
          end: 359,
          colors: [[0xff0000, 0.0], [0x0000ff, 0.3], [0xffff00, 1.0]]
        })
      
      Text('sweepGradient Reapeat').fontSize(12).width('90%').fontColor(0xCCCCCC)
      Row()
        .width(100)
        .height(100)
        .sweepGradient({
          center: [50, 50],
          start: 0,
          end: 359,
          rotation: 45, // 旋转角度
          repeating: true, // 渐变颜色是否重复
          colors: [[0xff0000, 0.0], [0x0000ff, 0.3], [0xffff00, 0.5]] // 数组末尾元素占比小于1时满足重复着色效果
        })
    }
    .width('100%')
    .padding({ top: 5 })
  }
}

HarmonyOS API:通用属性 -鸿蒙开发者社区

// xxx.ets
@Entry
@Component
struct ColorGradientExample {
  build() {
    Column({ space: 5 }) {
      Text('radialGradient').fontSize(12).width('90%').fontColor(0xCCCCCC)
      Row()
        .width(100)
        .height(100)
        .radialGradient({
          center: [50, 50],
          radius: 60,
          colors: [[0xff0000, 0.0], [0x0000ff, 0.3], [0xffff00, 1.0]]
        })
      Text('radialGradient Repeat').fontSize(12).width('90%').fontColor(0xCCCCCC)
      Row()
        .width(100)
        .height(100)
        .radialGradient({
          center: [50, 50],
          radius: 60,
          repeating: true,
          colors: [[0xff0000, 0.0], [0x0000ff, 0.3], [0xffff00, 0.5]] // 数组末尾元素占比小于1时满足重复着色效果
        })
    }
    .width('100%')
    .padding({ top: 5 })
  }
}

HarmonyOS API:通用属性 -鸿蒙开发者社区

文章转载自:​https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/ts-universal-attributes-text-style-0000001427902436-V3?catalogVersion=V3​

收藏
回复
举报
回复
    相关推荐