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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/943148.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【MATLAB第110期】#保姆级教学 | 基于MATLAB的PAWN全局敏感性分析方法(无目标函数)含特征变量置信区间分析

【MATLAB第110期】#保姆级教学 | 基于MATLAB的PAWN全局敏感性分析方法&#xff08;无目标函数&#xff09;含特征变量置信区间分析 一、介绍 PAWN&#xff08;Probabilistic Analysis With Numerical Uncertainties&#xff09;是一种基于密度的全局敏感性分析&#xff08;Gl…

请购单一直提示需求部门不能为空无法提交

终于发现了它的逻辑。用户很多次反馈&#xff0c;提交请购单时&#xff0c;提示需求部门不能为空&#xff0c;既使选择了需求部门&#xff0c;保存时&#xff0c;神奇的是会清空掉部门的信息&#xff0c;提交时就会有错误提示出来。 原因&#xff1a;光选择单头上的需求部门是…

leetcode 面试经典 150 题:矩阵置零

链接矩阵置零题序号73题型二维数组解题方法标记数组法难度中等熟练度✅✅✅✅ 题目 给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,1,1],[1,0,1]…

AIGC:生成图像动力学

文章目录 前言一、介绍二、方法2.1、运动预测模块运动纹理 2.2、图像渲染模块 三、数据集实验总结 前言 让静态的风景图能够动起来真的很有意思&#xff0c;不得不说CVPR2024 best paper实质名归&#xff0c;创意十足的一篇文章&#xff01;&#xff01;&#xff01; paper&a…

python: Oracle Stored Procedure query table

oracel sql script CREATE OR REPLACE PROCEDURE SelectSchool(paramSchoolId IN char,p_cursor OUT SYS_REFCURSOR ) AS BEGINOPEN p_cursor FORSELECT *FROM SchoolWHERE SchoolId paramSchoolId; END SelectSchool; /-- 查询所有 CREATE OR REPLACE PROCEDURE SelectScho…

社区版Dify 轻松实现文生图,Dify+LLM+ComfyUI

社区版Dify 轻松实文生图&#xff0c;DifyLLMComfyUI Dify 安装可参考这里ComfyUI 其实 比 WebUI更简单更实用DifyComfyUIDifyLLM1. Qwen 通义千问大模型系列2. OpenAI大模型系列3. 本地Ollama搭建 DifyLLMComfyUI Dify 安装可参考这里 这是一个在Dify上实现 文生图的教程&…

Docker部署Sentinel

一、简介 是什么&#xff1a;面向分布式、多语言异构化服务架构的流量治理组件 能干嘛&#xff1a;从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性 官网地址&#xff1a;https://sentinelguard.io/zh-c…

实用工具推荐----Doxygen使用方法

目录 目录 1 软件介绍 2 Doxygen软件下载方法 3 Doxygen软件配置方法 4 标准注释描述 4.1 块注释 和 特殊描述字符 4.1.1 函数描述示例 4.1.2结构体数组变量示例 特别注意&#xff1a; 4.2单行注释 4.2.1 单个变量注释示例 特别注意&#xff1a; 4.2.2对于枚举变量…

并发编程 - 死锁的产生、排查与解决方案

在多线程编程中&#xff0c;死锁是一种非常常见的问题&#xff0c;稍不留神可能就会产生死锁&#xff0c;今天就和大家分享死锁产生的原因&#xff0c;如何排查&#xff0c;以及解决办法。 线程死锁通常是因为两个或两个以上线程在资源争夺中&#xff0c;形成循环等待&#xf…

云轴科技ZStack获评OpenCloudOS社区2024年度优秀贡献单位

近日&#xff0c;由 OpenCloudOS 社区主办的 2024 OpenCloudOS 年会在北京成功召开。本次大会以“稳建基石&#xff0c;共创新篇”为主题&#xff0c;汇集了业界顶级技术专家与行业领袖&#xff0c;共同探讨下一代操作系统的建设与未来。云轴科技ZStack作为OpenCloudOS 社区的重…

clickhouse解决suspiciously many的异常

1. 问题背景 clickhouse安装在虚拟机上&#xff0c;持续写入日志时&#xff0c;突然关机&#xff0c;然后重启&#xff0c;会出现clickhouse可以正常启动&#xff0c;但是查询sql语句&#xff0c;提示suspiciously many异常&#xff0c;如图所示 2. 问题修复 touch /data/cl…

从零开始k8s-部署篇(未完待续)

从零开始k8s 1.部署k8s-部署篇 1.部署k8s-部署篇 本次部署完全学习于华子的博客点击此处进入华子主页 K8S中文官网&#xff1a;https://kubernetes.io/zh-cn 笔者从零开始部署的k8s&#xff0c;部署前置条件为 1.需要harbor仓库&#xff0c;存放镜像&#xff0c;拉取镜像&am…

Dots 常用操作

游戏中有多个蚂蚁群落&#xff0c;每个蚂蚁属于一个群落&#xff0c;如何设计数据结构&#xff1f; 方法1&#xff1a;为蚂蚁组件添加一个属性 ID&#xff0c;会造成逻辑中大量分支语句&#xff0c;如果分支语句逻辑不平衡可能带来 Job 调度问题&#xff0c;每个蚂蚁会有一份蚂…

如何通过 Kafka 将数据导入 Elasticsearch

作者&#xff1a;来自 Elastic Andre Luiz 将 Apache Kafka 与 Elasticsearch 集成的分步指南&#xff0c;以便使用 Python、Docker Compose 和 Kafka Connect 实现高效的数据提取、索引和可视化。 在本文中&#xff0c;我们将展示如何将 Apache Kafka 与 Elasticsearch 集成以…

深入浅出:AWT的基本组件及其应用

目录 前言 1. AWT简介 2. AWT基本组件 2.1 Button&#xff1a;按钮 2.2 Label&#xff1a;标签 ​编辑 2.3 TextField&#xff1a;文本框 2.4 Checkbox&#xff1a;复选框 2.5 Choice&#xff1a;下拉菜单 2.6 List&#xff1a;列表 综合案例 注意 3. AWT事件处理 …

Go Energy 跨平台框架 v2.5.1 发布

Energy 框架 是Go语言基于CEF 和 LCL 开发的跨平台 GUI 框架, 具体丰富的系统原生 UI 控件集, 丰富的 CEF 功能 API&#xff0c;简化且不失功能的 CEF 功能 API 使用。 特性&#xff1f; 特性描述跨平台支持 Windows, macOS, Linux简单Go语言的简单特性&#xff0c;使用简单…

JS 异步 ( 一、异步概念、Web worker 基本使用 )

文章目录 异步代码异步执行概念ES6 之前的异步 Web worker 异步 代码异步执行概念 通常代码是自上而下同步执行的&#xff0c;既后面的代码必须等待前面的代码执行完才会执行&#xff0c;而异步执行则是将主线程中的某段代码交由子线程去执行&#xff0c;当交给子线程后&…

机器学习(二)-简单线性回归

文章目录 1. 简单线性回归理论2. python通过简单线性回归预测房价2.1 预测数据2.2导入标准库2.3 导入数据2.4 划分数据集2.5 导入线性回归模块2.6 对测试集进行预测2.7 计算均方误差 J2.8 计算参数 w0、w12.9 可视化训练集拟合结果2.10 可视化测试集拟合结果2.11 保存模型2.12 …

Java字符串操作利器:StringBuffer与StringBuilder类详解

在处理字符串变更时&#xff0c;StringBuffer和StringBuilder类是优选工具。与String类不同&#xff0c;StringBuffer和StringBuilder允许对象被多次修改&#xff0c;而不会生成新的未使用对象。 StringBuilder类自Java 5起引入&#xff0c;其与StringBuffer的主要区别在于Stri…

软件确认测试报告的内容和作用简析

软件确认测试报告是对软件确认测试过程及结果的正式记录&#xff0c;是评估软件质量的重要依据。它不仅对开发团队起到反馈作用&#xff0c;更是决策层判断软件是否可以交付的重要参考。 一、软件确认测试报告包括的内容   1、测试目的&#xff1a;明确此次测试的目的和所要…