当前位置: 首页 > article >正文

ArkTs组件(2)

一.下拉列表组件:Select

1.接口

Select(options: Array<SelectOption>)

参数名类型必填说明
optionsArray<SelectOption>设置下拉选项。

 SelectOption对象说明

名称类型必填说明
valueResourceStr

下拉选项内容。

iconResourceStr

下拉选项图片。

symbolIconSymbolGlyphModifier

下拉选项Symbol图片。

symbolIcon优先级高于icon。

2. 属性

(1)属性表

参数名类型必填说明
selectednumber|Resource下拉菜单初始选项的索引
valueResourceaStr下拉按钮本身的文本内容。
controlSizeControlSize

Select组件的尺寸。

默认值:ControlSize.NORMAL

menuItemContentModiffierContentModifier<MenuItemConfiguration>

在Select组件上,定制下拉菜单项内容区的方法。

modifier: 内容修改器,开发者需要自定义class实现ContentModifier接口。

dividerOptional<DividerOptions> | null

1.设置DividerOptions,则按设置的样式显示分割线。

2.设置为null时,不显示分割线。

3.strokeWidth设置过宽时,会覆盖文字。分割线会从每一个Item底部开始,同时向上向下画分割线。

4.startMargin和endMargin的默认值与不设置divider属性时的分割线样式保持一致。startMargin和endMargin的和与optionWidth的值相等时,不显示分割线。 startMargin和endMargin的和超过optionWidth的值时,按照默认样式显示分割线。

fontFont下拉按钮本身的文本样式。
FontColorResourceColor下拉按钮本身的文本颜色。
selectedOptionBgColorResourceColor下拉菜单选中项的背景色。
selectedOptionFontFont下拉菜单选中项的文本样式。
selectedOptionFontColorResourceColor下拉菜单选中项的文本颜色
optionBgColorResourceColor下拉菜单项的背景色。
optionFontFont下拉菜单项的文本样式。
optionFontColorResourceColor下拉菜单项的文本颜色。
spaceLength

下拉菜单项的文本与箭头之间的间距。

默认值:8

arrowPositionArrowPosition

下拉菜单项的文本与箭头之间的对齐方式。

默认值:ArrowPosition.END

optionWidthDimension | OptionWidthMode下拉菜单项的宽度。
optionHeightDimension下拉菜单显示的最大高度。
menuBackgroundColorResourceColor下拉菜单的背景色。
menuBackgroundBlurStyleBlurStyle

下拉菜单的背景模糊材质。

默认值:BlurStyle.COMPONENT_ULTRA_THICK

1.ArrowPosition枚举说明
名称说明
END10+文字在前,箭头在后。
START10+箭头在前,文字在后。

(2)menuAlign

menuAlign(alignType: MenuAlignType, offset?: Offset)

设置下拉按钮与下拉菜单间的对齐方式。

参数名类型必填说明
alignTypeMenuAlignType

对齐方式类型。

默认值:MenuAlignType.START

offsetOffset

按照对齐类型对齐后,下拉菜单相对下拉按钮的偏移量。

默认值:{dx: 0, dy: 0}

MenuAlignType枚举说明
名称说明
START按照语言方向起始端对齐。
CENTER居中对齐。
END按照语言方向末端对齐。

MenuItemConfiguration对象说明

名称类型必填说明
valueResourceStr下拉菜单项的文本内容。
iconResourceStr下拉菜单项的图片内容。
symbolIconSymbolGlyphModifier下拉选项Symbol图片内容。
selectedboolean

下拉菜单项是否被选中。

默认值:false

indexnumber下拉菜单项的索引。
triggerSelect(index: number, value: string) :void

下拉菜单选中某一项的回调函数。

index: 选中菜单项的索引。

value: 选中菜单项的文本。

说明: index会赋值给事件onSelect回调中的索引参数; value会返回给Select组件显示,同时会赋值给事件onSelect回调中的文本参数。

3.事件

(1)onSelect

onSelect(callback: (index: number, value: string) => void)

下拉菜单选中某一项的回调。

参数名类型必填说明
indexnumber选中项的索引。
valuestring选中项的值。
class MySelect implements ContentModifier<MenuItemConfiguration>{
  applyContent(): WrappedBuilder<[MenuItemConfiguration]> {
    return wrapBuilder(sel)
  }

}

@Builder function sel(config:MenuItemConfiguration){
  Row(){
   Text(config.index+''+config.value)
    if (config.symbolIcon){
      SymbolGlyph().attributeModifier(config.symbolIcon)
        .fontSize(24).fontColor(['red'])
    }else {
      Image(config.icon).height(30)
    }
    if (config.selected){
      SymbolGlyph($r('sys.symbol.hand_thumbsup_fill'))
        .fontColor(['red'])
    }
  }
  .width('80%').height(30)
  .backgroundColor(config.selected?Color.Orange:Color.Pink)
  .onClick(()=>{
    config.triggerSelect(config.index,config.value.toString())
  })
}

@Entry
@Component
struct Component6Page {
  @State message: string = 'Hello World';

  build() {
    Column(){
      this.searchTest()
    }
    .height('100%')
    .width('100%')
  }
sym1:SymbolGlyphModifier=new SymbolGlyphModifier($r('sys.symbol.camera_portrait_efferts'))
  @Builder selectTest(){
    Select([
      {value:'北京',icon:$r('app.media.1'),symbolIcon:this.sym1},
      {value:'上海',symbolIcon:new SymbolGlyphModifier($r('sys.symbol.star_fill'))},
      {value:'天津',symbolIcon:new SymbolGlyphModifier($r('sys.symbol.camera_fill'))},
      {value:'石家庄',symbolIcon:new SymbolGlyphModifier($r('sys.symbol.buzzer_detection'))},
      {value:'海南',symbolIcon:new SymbolGlyphModifier($r('sys.symbol.car_fill'))},
      {value:'台湾',symbolIcon:new SymbolGlyphModifier($r('sys.symbol.a_3fingers_slash'))}
    ])
      .height(20)
      .width(280)
      .selected(1) //选中
      .value('--地址--') //显示文本
      .constraintSize({minWidth:120,maxWidth:200 })
      .divider({strokeWidth:1,color:'red',startMargin:10,endMargin:10})
      .fontColor('red')
      .font({size:18,style:FontStyle.Italic,weight:900}) // 字体样式
      .selectedOptionBgColor(Color.Brown) //选中之后的颜色
      .selectedOptionFont({size:30}) //选中的字体
      .selectedOptionFontColor(Color.White) // 选中的字体颜色
      .optionBgColor(Color.Pink) // 下拉的背景颜色
      .optionFont({size:20}) // 未选中的字体
      .optionFontColor(Color.Black) // 未选中的字体颜色
      .space(10) // 文本与箭头的距离
      .arrowPosition(ArrowPosition.START) // 箭头的位置
      .menuAlign(MenuAlignType.END,{dx:10,dy:10}) //下拉菜单的位置
      .optionWidth(200) //下拉菜单的宽度
      .optionHeight(300) //下拉菜单的高度
      .menuBackgroundColor('red')// 下拉菜单的背景颜色
      .menuBackgroundBlurStyle(BlurStyle.COMPONENT_REGULAR)
      .onSelect((index,val)=>{
        console.log(`索引:${index},值:${val}`);
      })
    Select([
      {value:'北京',icon:$r('app.media.1')},
      {value:'上海',symbolIcon:new SymbolGlyphModifier($r('sys.symbol.star_fill'))},
      {value:'天津',symbolIcon:new SymbolGlyphModifier($r('sys.symbol.camera_fill'))},
      {value:'石家庄',symbolIcon:new SymbolGlyphModifier($r('sys.symbol.buzzer_detection'))},
      {value:'海南',symbolIcon:new SymbolGlyphModifier($r('sys.symbol.car_fill'))},
      {value:'台湾',symbolIcon:new SymbolGlyphModifier($r('sys.symbol.a_3fingers_slash'))}
    ])
      .value('--地址--') //显示文本
      .menuItemContentModifier(new MySelect())
  }
}
属性设置样式
自定义样式

二. 滑动条组件:Slider

通常用于快速调节设置值,如音量调节、亮度调节等应用场景。

1.接口

Slider(options?: SliderOptions)

参数名类型必填说明
optionsSliderOptions配置滑动条的参数。

SliderOptions对象说明

名称类型必填说明
valuenumber

当前进度值。

默认值:与参数min的取值一致。

从API version 10开始,该参数支持$$双向绑定变量。

minnumber

设置最小值。

默认值:0

maxnumber

设置最大值。

默认值:100

说明:

min >= max异常情况,min取默认值0,max取默认值100。

value不在[min, max]范围之内,取min或者max,靠近min取min,靠近max取max。

stepnumber

设置Slider滑动步长。

默认值:1

取值范围:[0.01, max - min]

说明:

若设置的step值小于0或大于max值时,则按默认值显示。

styleSliderStyle

设置Slider的滑块与滑轨显示样式。

默认值:SliderStyle.OutSet

directionAxis

设置滑动条滑动方向为水平或竖直方向。

默认值:Axis.Horizontal

reverseboolean

设置滑动条取值范围是否反向,横向Slider默认为从左往右滑动,竖向Slider默认为从上往下滑动。

默认值:false

SliderStyle枚举说明

名称说明
OutSet

滑块在滑轨上。

InSet

滑块在滑轨内。

NONE

无滑块

2. 属性

1.属性表

参数名类型必填说明
blockColorResourceColor滑块的颜色
trackColorResourceColor | LinearGradient

滑轨的背景颜色。

说明: 设置渐变色时,若颜色断点颜色值为非法值或者渐变色断点为空时,渐变色不起效果。

selectedColorResourceColor滑轨的已滑动部分颜色。
showStepsboolean

当前是否显示步长刻度值。

默认值:false

trackThickness

Length滑轨的粗细。
blockBorderColorResourceColor滑块描边颜色。
blockBorderWidthLength滑块描边粗细。
stepColorResourceColor刻度颜色。
trackBorderRadiusLength底板圆角半径。
selectedBorderRadiusDimension已选择部分圆角半径。
blockSizeSizeOption滑块大小。
blockStyleSliderBlockStyle

滑块形状参数。

默认值:SliderBlockType.DEFAULT,使用圆形滑块。

stepSizeLength刻度大小(直径)
minLabelstring最小值
maxLabelstring最小值
sliderInteracetionModeSliderInteraction

用户与滑动条组件交互方式。

默认值:SliderInteraction.SLIDE_AND_CLICK。

minResponsiveDistancenumber

设置滑动响应的最小距离,滑动超过此距离后才响应使滑块滑动。

说明:

单位与参数min和max一致。

当value小于0、大于MAX-MIN或非法值时,取默认值。

默认值:0。

contentModifferContentModifier<SliderConfiguration>

在Slider组件上,定制内容区的方法。

modifier: 内容修改器,开发者需要自定义class实现ContentModifier接口。

slideRangeSlideRange设置有效滑动区间
(1)SliderBlockStyle对象说明

Slider组件滑块形状参数

名称类型必填说明
typeSliderBlockType

设置滑块形状。

默认值:SliderBlockType.DEFAULT,使用圆形滑块。

imageResourceStr

设置滑块图片资源。

图片显示区域大小由blockSize属性控制,请勿输入尺寸过大的图片。

shapeCircle | Ellipse | Path | Rect设置滑块使用的自定义形状。
SliderBlockType枚举说明

Slider组件滑块形状枚举。

名称说明
DEFAULT使用默认滑块(圆形)。
IMAGE使用图片资源作为滑块。
SHAPE使用自定义形状作为滑块。
(2)SliderInteraction枚举说明

用户与滑动条组件交互方式

名称说明
SLIDE_AND_CLICK用户可拖拽滑块或者点击滑轨使滑块移动,鼠标或手指按下即发生移动。
SLIDE_ONLY不允许用户通过点击滑轨使滑块移动。
SLIDE_AND_CLICK_UP用户可拖拽滑块或者点击滑轨使滑块移动,鼠标或手指抬起时,若与屏幕按压位置一致,则触发移动。
(3)SlideRange对象说明

定义SlideRange中使用的回调类型。

名称类型必填说明
fromnumber设置有效滑动区间的开始。
tonumber设置有效滑动区间的结束。
  • 当前仅当MIN<=from<=to<=MAX时该接口生效(MIN和MAX不依赖于其设置的值, 而取决于其实际生效的值)。
  • 可只设置from或者to, 也可以同时设置from和to。
  • 当接口生效, 设置的from处于紧邻的step整数倍的值之间, 则from实际取左区间step整数倍的那个值或者MIN作为修正后的值。
  • 当接口生效, 设置的to处于紧邻的step整数倍的值之间, 则to实际取右区间step整数倍的那个值或者MAX作为修正后的值。
  • 在from和to取修正值后, 当value是undefined或null时, 其取值与from一致; 当value是数值型, 且value <= from, 则取from; value > to, 则取to。

2.showTips

showTips(value: boolean, content?: ResourceStr)

设置滑动时是否显示气泡提示。

参数名类型必填说明
valueboolean

滑动时是否显示气泡提示。

默认值:false

contentResourceStr气泡提示的文本内容,默认显示当前百分比。

 3. 事件

(1)onChange

onChange(callback: (value: number, mode: SliderChangeMode) => void)

Slider拖动或点击时触发事件回调。

Begin和End状态当手势点击时都会触发,Moving和Click状态当value值发生变化时触发。

当连贯动作为拖动动作时,不触发Click状态。

参数名类型必填说明
valuenumber当前滑动进度值,变化范围为对应步长steps数组。若返回值有小数,可使用number.toFixed()方法将数据处理为预期的精度。
modeSliderChangeMode事件触发的相关状态值。
SliderChangeMode枚举说明
名称说明
Begin0手势/鼠标接触或者按下滑块。
Moving1正在拖动滑块过程中。
End2

手势/鼠标离开滑块。

说明:

异常值恢复成默认值时触发,即value设置小于min或大于max。

Click8+3点击滑动条使滑块位置移动。

4.自定义类型

SliderConfiguration对象说明

开发者需要自定义class实现ContentModifier接口。

名称类型只读可选说明
valuenumber当前进度值。
minnumber最小值。
maxnumber最大值。
stepnumberSlider滑动步长。
triggerChangeSliderTriggerChangeCallback触发Slider变化。

SliderTriggerChangeCallback对象说明

type SliderTriggerChangeCallback = (value: number, mode: SliderChangeMode) => void

定义SliderConfiguration中使用的回调类型。

参数名类型只读可选说明
valuenumber设置当前的进度值。
modeSliderChangeMode设置事件触发的相关状态值。
// 滑块的自定义样式
class MySilder implements ContentModifier<SliderConfiguration>{
  applyContent(): WrappedBuilder<[SliderConfiguration]> {
    return wrapBuilder(sl)
  }
  showSlider:boolean=true
  sliderChangeMode:number=0
  constructor(showSlider: boolean,sliderChangeMode:number) {
    this.showSlider = showSlider
    this.sliderChangeMode = sliderChangeMode
  }

}
@Builder function sl(config:SliderConfiguration){
  Column(){
    Progress({value:config.value,type:ProgressType.Ring})
    Button('增加')
      .onClick(()=>{
        config.value+=10
        config.triggerChange(config.value,0)
      })
    Button('减少')
      .onClick(()=>{
        config.value-=10
        config.triggerChange(config.value,0)
      })
  }
}

@Entry
@Component
struct Component7Page {
  @State message: string = 'Hello World';

  build() {
    Column(){
      this.sliderTest()
    }
    .height('100%')
    .width('100%')
  }

@Builder sliderTest(){
    Slider({
      value:30, // 当前值
      min:0, // 最小值
      max:100, // 最大值
      step:10, // 步长
      style:SliderStyle.InSet, //滑块的样式
      direction:Axis.Horizontal,// 滑块的方向
      reverse:false //取反
    })
      .blockColor('red') // 滑块的颜色
      .blockSize({height:20,width:20}) //滑块的大小
      .blockBorderColor(Color.Black) //描边的颜色
      .blockBorderWidth(1) //描边的宽度
      // .blockStyle({type:SliderBlockType.IMAGE,image:$r('sys.media.ohos_ic_public_sound')})
      // .blockStyle({ type: SliderBlockType.SHAPE, shape: new Path({ commands: 'M60 60 M30 30 L15 56 L45 56 Z' }) })
      .trackColor(Color.Green) // 滑轨的颜色
      .selectedColor(Color.Brown) // 选中的颜色
      .showSteps(true) // 是否开启刻度
      .showTips(true) // 提示进度
      .trackThickness(50) // 滑轨粗细
      .stepColor(Color.Black) // 刻度的颜色
      .trackBorderRadius(10) // 滑块的圆角半径
      .selectedBorderRadius(20) //选中圆角半径
      .stepSize(8) // 刻度的大小
      .sliderInteractionMode(SliderInteraction.SLIDE_AND_CLICK) // 设置用户与滑动条组件交互方式。
      .minResponsiveDistance(0) //滑块的最小值
      .slideRange({from:10,to:50}) // 滑块的有效区间
      .onChange((v,m)=>{
        console.log(`当前值:${v}`)
        if (m==0) {
          console.log('按下')
        }else if(m==1){
          console.log('移动')
        }else if(m==2){
          console.log('弹起')
        }else if (m==3){
          console.log('点击')
        }
      })

    Slider({
      value:30, // 当前值
      min:0, // 最小值
      max:100, // 最大值
      step:10, // 步长
    })
      .contentModifier(new MySilder(true,0))
  }
}

三. 行内文本:span

作为Text、ContainerSpan组件的子组件,用于显示行内文本的组件。

该组件从API Version 10开始支持继承父组件Text的属性,即如果子组件未设置属性且父组件设置属性,则继承父组件设置的属性。支持继承的属性仅包括:fontColor、fontSize、fontStyle、fontWeight、decoration、letterSpacing、textCase、fontfamily、textShadow。

1.接口

Span(value: string | Resource)

参数名类型必填说明
valuestring | Resource文本内容。

2.属性

参数名类型必填说明
decorationDecorationStyleInterface文本装饰线样式对象
letterSpacingnumber|string文本字符间距。
textCaseTextCase

文本大小写。

默认值:TextCase.Normal

fontColorResourceColor字体颜色
fontSizenumber|string|Resource字体大小
fontStyleFontStyle

字体样式。

默认值:FontStyle.Normal

fontWeightnumber|FontWeight|string文本的字体粗细
fontFamilystring|Resource字体列表
lineHeightLength文本行高
fontFont文本样式
textShadowShadowOptions | Array<ShadowOptions>文字阴影效果。
textBackgroundStyleTextBackgroundStyle背景样式。
basslineOffsetLengthMetrics

设置Span基线的偏移量,设置该值为百分比时,按默认值显示。

正数内容向上偏移,负数向下偏移。

默认值:0

在ImageSpan中,设置为非0时会导致设置verticalAlign失效。

TextBackgroundStyle对象说明

名称类型必填说明
colorResourceColor文本背景色。
radiusDimension | BorderRadiuses文本背景圆角。
 @Builder spanTest(){
    Text(){
      Span('文本子组件1')
        .decoration({style:TextDecorationStyle.DOUBLE,type:TextDecorationType.Underline,color:'red'})//下划线样式
      Span('文本子组件2')
        .letterSpacing(10) // 字间距
      Span('AbcDef')
        .textCase(TextCase.LowerCase) //文本大小写
        .textBackgroundStyle({ color:Color.Orange ,radius:0})
        .baselineOffset(LengthMetrics.vp(-20))
      Span('文本子组件4')
        .lineHeight(40) // 行高
        .font({size:20,style:FontStyle.Italic})
        .fontColor('red')
        .textShadow({radius:10,offsetX:20,offsetY:20,color:'green',
        })
    }
  }

四.步骤导航器组件:Stepper

适用于引导用户按照步骤完成任务的导航场景。

1.接口

Stepper(value?: { index?: number })

参数名类型必填说明
value{ index?: number }

设置步骤导航器当前显示StepperItem的索引值。

默认值:0

从API version 10开始,该参数支持$$双向绑定变量。

2. 事件

(1)onFinish

onFinish(callback: () => void)

步骤导航器最后一个StepperItem的nextLabel被点击时,并且ItemState属性为Normal时,触发该回调。

(2)onSkip

onSkip(callback: () => void)

当前显示的StepperItem状态为ItemState.Skip时,nextLabel被点击时触发该回调。

(3)onChange

onChange(callback: (prevIndex: number, index: number) => void)

点击当前StepperItem的prevLabel进行步骤切换时触发该回调;或点击当前StepperItem的nextLabel,当前页面不为步骤导航器最后一个StepperItem且ItemState属性为Normal时,触发该回调。

参数名类型必填说明
prevIndexnumber切换前的步骤页索引值。
indexnumber切换后的步骤页(前一页或者下一页)索引值。

(4)onNext

onNext(callback: (index: number, pendingIndex: number) => void)

点击StepperItem的nextLabel切换下一步骤时,当前页面不为步骤导航器最后一个StepperItem且ItemState属性为Normal时,触发该回调。

参数名类型必填说明
indexnumber当前步骤页索引值。
pendingIndexnumber下一步骤页索引值。

(5)onPrevious

onPrevious(callback: (index: number, pendingIndex: number) => void)

点击StepperItem的prevLabel切换上一步骤时触发该回调。

参数名类型必填说明
indexnumber当前步骤页索引值。
pendingIndexnumber上一步骤页索引值。
@State selectIndex:number=0
  @Builder stepperTest(){
    Stepper({index:this.selectIndex}){
      StepperItem(){
        Column(){

        }
        .height('90%')
        .width('100%')
        .backgroundColor(Color.Gray)
      }
      .nextLabel('下一页')
      // .status(ItemState.Normal)
      StepperItem(){
        Column(){

        }
        .height('100%')
        .width('100%')
        .backgroundColor(Color.Blue)
      }
      .prevLabel('上一页')
      // .nextLabel('下一页')
      .status(ItemState.Skip)
      StepperItem(){
        Column(){

        }
        .height('100%')
        .width('100%')
        .backgroundColor(Color.Green)
      }
      .prevLabel('上一页')
      .nextLabel('全部完成')
    }
    .onFinish(()=>{
      console.log('完成注册')
    })
    .onSkip(()=>{
      console.log('页面跳过')
      this.selectIndex=2
    })
    .onNext((index,pendingIndex)=>{
      console.log(`当前是第:${index+1}页,下一页:${pendingIndex+1}页`)
    })
    .onPrevious((index,pendingIndex)=>{
      console.log(`当前是第:${index+1}页,上一页:${pendingIndex+1}页`)
    })
  }
第一页
第二页
第三页

五. 图标小符号组件:SymbolGlyph

(1)接口

SymbolGlyph(value?: Resource)

参数名类型必填说明
valueResourceSymbolGlyph组件的资源名,如 $r('sys.symbol.ohos_wifi')。

$r('sys.symbol.ohos_wifi')中引用的资源为系统预置,SymbolGlyph仅支持系统预置的symbol资源名,引用非symbol资源将显示异常。

(2)属性

1.属性表

参数名类型必填说明
fontColorArray<ResourceColor>

SymbolGlyph组件颜色。

默认值:不同渲染策略下默认值不同。

fontSizenumber|string|ResourceSymbolGlyph组件大小。

fontWeight

number|FontWeight|string

SymbolGlyph组件粗细。

默认值:FontWeight.Normal

renderingStrategySymbolRenderingStrategy

SymbolGlyph组件渲染策略。

默认值:SymbolRenderingStrategy.SINGLE

effectStrategySymbolEffectStrategy

SymbolGlyph组件动效策略。

默认值:SymbolEffectStrategy.NONE

2.symbolEffect

symbolEffect(symbolEffect: SymbolEffect, isActive?: boolean)

设置SymbolGlyph组件动效策略及播放状态。

参数名类型必填说明
symbolEffectSymbolEffect

SymbolGlyph组件动效策略。

默认值:SymbolEffect

isActiveboolean

SymbolGlyph组件动效播放状态。

默认值:false

3.symbolEffect

symbolEffect(symbolEffect: SymbolEffect, triggerValue?: number)

设置SymbolGlyph组件动效策略及播放触发器。

参数名类型必填说明
symbolEffectSymbolEffect

SymbolGlyph组件动效策略。

默认值:SymbolEffect

triggerValuenumber

SymbolGlyph组件动效播放触发器,在数值变更时触发动效。

如果首次不希望触发动效,设置-1。

动效属性,仅支持使用effectStrategy属性或单个symbolEffect属性,不支持多种动效属性混合使用。

(3)SymbolEffect对象

定义SymbolEffect类。

constructor

constructor()

SymbolEffect的构造函数,无动效。

1.ScaleSymbolEffect对象说明

ScaleSymbolEffect继承自父类SymbolEffect。

名称类型必填说明
scopeEffectScope

动效范围。

默认值:EffectScope.LAYER

directionEffectDirection

动效方向。

默认值:EffectDirection.DOWN

constructor

constructor(scope?: EffectScope, direction?: EffectDirection)

ScaleSymbolEffect的构造函数,缩放动效。

参数名类型必填说明
scopeEffectScope

动效范围。

默认值:EffectScope.LAYER

directionEffectDirection

动效方向。

默认值:EffectDirection.DOWN

2.HierarchicalSymbolEffect对象说明

HierarchicalSymbolEffect继承自父类SymbolEffect。

名称类型必填说明
fillStyleEffectFillStyle

动效模式。

默认值:EffectFillStyle.CUMULATIVE

constructor

constructor(fillStyle?: EffectFillStyle)

HierarchicalSymbolEffect的构造函数,层级动效。

参数名类型必填说明
fillStyleEffectFillStyle

动效模式。

默认值:EffectFillStyle.CUMULATIVE

3.AppearSymbolEffect对象说明

AppearSymbolEffect继承自父类SymbolEffect。

名称类型必填说明
scopeEffectScope

动效范围。

默认值:EffectScope.LAYER

constructor

constructor(scope?: EffectScope)

AppearSymbolEffect的构造函数,出现动效。

参数名类型必填说明
scopeEffectScope

动效范围。

默认值:EffectScope.LAYER

4.DisappearSymbolEffect对象说明

DisappearSymbolEffect继承自父类SymbolEffect。

名称类型必填说明
scopeEffectScope

动效范围。

默认值:EffectScope.LAYER

constructor

constructor(scope?: EffectScope)

DisappearSymbolEffect的构造函数,消失动效。

参数名类型必填说明
scopeEffectScope

动效范围。

默认值:EffectScope.LAYER

5.BounceSymbolEffect对象说明

BounceSymbolEffect继承自父类SymbolEffect。

名称类型必填说明
scopeEffectScope

动效范围。

默认值:EffectScope.LAYER

directionEffectDirection

动效方向。

默认值:EffectDirection.DOWN

constructor

constructor(scope?: EffectScope, direction?: EffectDirection)

BounceSymbolEffect的构造函数,弹跳动效。

参数名类型必填说明
scopeEffectScope

动效范围。

默认值:EffectScope.LAYER

directionEffectDirection

动效方向。

默认值:EffectDirection.DOWN

 6.ReplaceSymbolEffect对象说明

ReplaceSymbolEffect继承自父类SymbolEffect。

名称类型必填说明
scopeEffectScope

动效范围。

默认值:EffectScope.LAYER

constructor

constructor(scope?: EffectScope)

ReplaceSymbolEffect的构造函数,替换动效。

参数名类型必填说明
scopeEffectScope

动效范围。

默认值:EffectScope.LAYER

7. PulseSymbolEffect对象说明

constructor

constructor()

PulseSymbolEffect的构造函数,脉冲动效。

1.EffectDirection枚举说明

名称说明
DOWN0图标缩小再复原。
UP1图标放大再复原。

2.EffectScope枚举说明

名称说明
LAYER0分层模式。
WHOLE1整体模式。

3.EffectFillStyle枚举说明

名称说明
CUMULATIVE0累加模式。
ITERATIVE1迭代模式。

4.SymbolEffectStrategy枚举说明

动效类型的枚举值。设置动效后启动即生效,无需触发。

名称说明
NONE无动效(默认值)。
SCALE整体缩放动效。
HIERARCHICAL层级动效。

5. SymbolRenderingStrategy枚举说明

渲染模式的枚举值

名称说明
SINGLE

单色模式(默认值)。

默认为黑色,可以设置一个颜色。

当用户设置多个颜色时,仅生效第一个颜色。

MULTIPLE_COLOR

多色模式。

最多可以设置三个颜色。当用户只设置一个颜色时,修改第一层颜色,其他颜色保持默认颜色。

颜色设置顺序与图标分层顺序匹配,当颜色数量大于图标分层时,多余的颜色不生效。

仅支持设置颜色,不透明度设置不生效。

MULTIPLE_OPACITY

分层模式。

默认为黑色,可以设置一个颜色。当用户设置多个颜色时,仅生效第一个颜色。

不透明度与图层相关,第一层100%、第二层50%、第三层20%。

@State eff:boolean=false
  @Builder symbolGlyphTest(){
    SymbolGlyph($r('sys.symbol.air_conditioning_purification_open_fill'))
      .fontSize(30)
      .fontWeight(700)
      .fontColor(['red'])
    SymbolGlyph($r('sys.symbol.air_conditioning_purification_open_fill'))
      .fontSize(30)
      .fontWeight(700)
      .fontColor(['red','blue'])
      .renderingStrategy(SymbolRenderingStrategy.MULTIPLE_COLOR) //渲染策略
    SymbolGlyph($r('sys.symbol.air_conditioning_purification_open_fill'))
      .fontSize(30)
      .fontWeight(700)
      .fontColor(['red'])
      .renderingStrategy(SymbolRenderingStrategy.MULTIPLE_OPACITY) //渲染策略

    SymbolGlyph($r('sys.symbol.wifi'))
      .fontSize(30)
      // .effectStrategy(SymbolEffectStrategy.HIERARCHICAL) //动效策略
      // .symbolEffect(SymbolEffectStrategy.SCALE,3) //动效策略
      //.symbolEffect(new ScaleSymbolEffect(EffectScope.LAYER,EffectDirection.DOWN),this.eff)
      .symbolEffect(new HierarchicalSymbolEffect(EffectFillStyle.ITERATIVE),this.eff)
    Button('播放动效')
      .onClick(()=>{
        this.eff=true
        setTimeout(()=>{
          this.eff=false
        },500)
      })

  }

六. 多行文本输入框组件:TextArea

当输入的文本内容超过组件宽度时会自动换行显示。

高度未设置时,组件无默认高度,自适应内容高度。宽度未设置时,默认撑满最大宽度。


http://www.kler.cn/a/453386.html

相关文章:

  • 五十六:Stream的状态变迁
  • 19_HTML5 Web Workers --[HTML5 API 学习之旅]
  • 边缘计算收益稳定
  • C++模板:编译时模拟Duck Typing
  • 智驾感知「大破局」!新一轮混战开启
  • 实现 QTreeWidget 中子节点勾选状态的递归更新功能只影响跟节点的状态父节点状态不受影响
  • Java爬虫:速卖通(AliExpress)商品评论获取指南
  • el-date-picker 限制选择的日期
  • maven项目打包后如何保留注释
  • 振动分析-47-振动信号处理能力提升需要理解和掌握的算法知识体系
  • Bogus:.NET的假数据生成利器
  • Centos7中使用yum命令时候报错 “Could not resolve host: mirrorlist.centos.org; 未知的错误“
  • 2022 年 12 月青少年软编等考 C 语言四级真题解析
  • Docker基础知识 Docker命令、镜像、容器、数据卷、自定义镜像、使用Docker部署Java应用、部署前端代码、DockerCompose一键部署
  • 单机和微服务的区别,微服务有什么问题?数据一致性问题怎么解决?幂等问题怎么解决?
  • c++ 类似与c# 线程 AutoResetEvent 和 ManualResetEvent的实现
  • FPGA自学之路:到底有多崎岖?
  • 【ES6复习笔记】Class类(15)
  • 【解决报错】AttributeError: ‘NoneType‘ object has no attribute ‘group‘
  • Goland 安装与使用
  • 请购单一直提示需求部门不能为空无法提交
  • 深入浅出 MyBatis | Mybatis 简洁、第一个Mybatis程序
  • Flutter开发HarmonyOS 鸿蒙App的好处、能力以及把Flutter项目打包成鸿蒙应用
  • 使用TimesFM 对车辆销售进行预测
  • 【深度学习环境】NVIDIA Driver、Cuda和Pytorch(centos9机器,要用到显示器)
  • 社区版Dify 轻松实现文生图,Dify+LLM+ComfyUI