当前位置:   article > 正文

HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Slider_harmony 原生应用有哪些?

harmony 原生应用有哪些?

滑动条组件,通常用于快速调节设置值,如音量调节、亮度调节等应用场景。该组件从API Version 7开始支持。无子组件
一、接口
Slider(options?: {value?: number, min?: number, max?: number, step?: number, style?: SliderStyle, direction?: Axis, reverse?: boolean})
从API version 9开始,该接口支持在ArkTS卡片中使用。
参数:
 

HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Slider-开源基础软件社区


 

HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Slider-开源基础软件社区


SliderStyle枚举说明
从API version 9开始,该接口支持在ArkTS卡片中使用。
 

HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Slider-开源基础软件社区


二、属性
支持除触摸热区以外的通用属性设置。
 

HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Slider-开源基础软件社区


 

HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Slider-开源基础软件社区


三、事件
通用事件仅支持挂载卸载事件:OnAppear,OnDisAppear。
 

HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Slider-开源基础软件社区


SliderChangeMode枚举说明
从API version 9开始,该接口支持在ArkTS卡片中使用。
 

HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Slider-开源基础软件社区


四、示例

  1. // xxx.ets
  2. @Entry
  3. @Component
  4. struct SliderExample {
  5. @State outSetValueOne: number = 40
  6. @State inSetValueOne: number = 40
  7. @State outSetValueTwo: number = 40
  8. @State inSetValueTwo: number = 40
  9. @State vOutSetValueOne: number = 40
  10. @State vInSetValueOne: number = 40
  11. @State vOutSetValueTwo: number = 40
  12. @State vInSetValueTwo: number = 40
  13. build() {
  14. Column({ space: 8 }) {
  15. Text('outset slider').fontSize(9).fontColor(0xCCCCCC).width('90%').margin(15)
  16. Row() {
  17. Slider({
  18. value: this.outSetValueOne,
  19. min: 0,
  20. max: 100,
  21. style: SliderStyle.OutSet
  22. })
  23. .showTips(true)
  24. .onChange((value: number, mode: SliderChangeMode) => {
  25. this.outSetValueOne = value
  26. console.info('value:' + value + 'mode:' + mode.toString())
  27. })
  28. // toFixed(0)将滑动条返回值处理为整数精度
  29. Text(this.outSetValueOne.toFixed(0)).fontSize(12)
  30. }
  31. .width('80%')
  32. Row() {
  33. Slider({
  34. value: this.outSetValueTwo,
  35. step: 10,
  36. style: SliderStyle.OutSet
  37. })
  38. .showSteps(true)
  39. .onChange((value: number, mode: SliderChangeMode) => {
  40. this.outSetValueTwo = value
  41. console.info('value:' + value + 'mode:' + mode.toString())
  42. })
  43. Text(this.outSetValueTwo.toFixed(0)).fontSize(12)
  44. }
  45. .width('80%')
  46. Text('inset slider').fontSize(9).fontColor(0xCCCCCC).width('90%').margin(15)
  47. Row() {
  48. Slider({
  49. value: this.inSetValueOne,
  50. min: 0,
  51. max: 100,
  52. style: SliderStyle.InSet
  53. })
  54. .blockColor('#191970')
  55. .trackColor('#ADD8E6')
  56. .selectedColor('#4169E1')
  57. .showTips(true)
  58. .onChange((value: number, mode: SliderChangeMode) => {
  59. this.inSetValueOne = value
  60. console.info('value:' + value + 'mode:' + mode.toString())
  61. })
  62. Text(this.inSetValueOne.toFixed(0)).fontSize(12)
  63. }
  64. .width('80%')
  65. Row() {
  66. Slider({
  67. value: this.inSetValueTwo,
  68. step: 10,
  69. style: SliderStyle.InSet
  70. })
  71. .blockColor('#191970')
  72. .trackColor('#ADD8E6')
  73. .selectedColor('#4169E1')
  74. .showSteps(true)
  75. .onChange((value: number, mode: SliderChangeMode) => {
  76. this.inSetValueTwo = value
  77. console.info('value:' + value + 'mode:' + mode.toString())
  78. })
  79. Text(this.inSetValueTwo.toFixed(0)).fontSize(12)
  80. }
  81. .width('80%')
  82. Row() {
  83. Column() {
  84. Text('vertical outset slider').fontSize(9).fontColor(0xCCCCCC).width('50%').margin(15)
  85. Row() {
  86. Slider({
  87. value: this.vOutSetValueOne,
  88. style: SliderStyle.OutSet,
  89. direction: Axis.Vertical
  90. })
  91. .blockColor('#191970')
  92. .trackColor('#ADD8E6')
  93. .selectedColor('#4169E1')
  94. .showTips(true)
  95. .onChange((value: number, mode: SliderChangeMode) => {
  96. this.vOutSetValueOne = value
  97. console.info('value:' + value + 'mode:' + mode.toString())
  98. })
  99. Slider({
  100. value: this.vOutSetValueTwo,
  101. step: 10,
  102. style: SliderStyle.OutSet,
  103. direction: Axis.Vertical
  104. })
  105. .blockColor('#191970')
  106. .trackColor('#ADD8E6')
  107. .selectedColor('#4169E1')
  108. .showSteps(true)
  109. .onChange((value: number, mode: SliderChangeMode) => {
  110. this.vOutSetValueTwo = value
  111. console.info('value:' + value + 'mode:' + mode.toString())
  112. })
  113. }
  114. }.width('50%').height(300)
  115. Column() {
  116. Text('vertical inset slider').fontSize(9).fontColor(0xCCCCCC).width('50%').margin(15)
  117. Row() {
  118. Slider({
  119. value: this.vInSetValueOne,
  120. style: SliderStyle.InSet,
  121. direction: Axis.Vertical,
  122. reverse: true // 竖向的Slider默认是上端是min值,下端是max值,因此想要从下往上滑动,需要设置reverse为true
  123. })
  124. .showTips(true)
  125. .onChange((value: number, mode: SliderChangeMode) => {
  126. this.vInSetValueOne = value
  127. console.info('value:' + value + 'mode:' + mode.toString())
  128. })
  129. Slider({
  130. value: this.vInSetValueTwo,
  131. step: 10,
  132. style: SliderStyle.InSet,
  133. direction: Axis.Vertical,
  134. reverse: true
  135. })
  136. .showSteps(true)
  137. .onChange((value: number, mode: SliderChangeMode) => {
  138. this.vInSetValueTwo = value
  139. console.info('value:' + value + 'mode:' + mode.toString())
  140. })
  141. }
  142. }.width('50%').height(300)
  143. }
  144. }.width('100%')
  145. }
  146. }

五、效果样式

HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Slider-开源基础软件社区

六、场景
适合卡片上直接操作提示滑动条组件,通常用于快速调节设置值,如音量调节、亮度调节等应用场景提供。

本文根据HarmonyOS官方文档整理

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/330463
推荐阅读
相关标签
  

闽ICP备14008679号