当前位置:   article > 正文

HarmonyOS/OpenHarmony应用开发-ArkTS自适应线性布局自适应缩放实现_arkts text layoutweight

arkts text layoutweight

自适应缩放是指在各种不同大小设备中,子组件按照预设的比例,尺寸随容器尺寸的变化而变化。在线性布局中有下列方法实现

1.父容器尺寸确定时,设置了layoutWeight属性的子组件与兄弟元素占主轴尺寸按照权重进行分配,忽略元素本身尺寸设置,在任意尺寸设备下,自适应占满剩余空间。

  1. @Entry
  2. @Component
  3. struct layoutWeightExample {
  4. build() {
  5. Column() {
  6. Text('1:2:3').width('100%')
  7. Row() {
  8. Column() {
  9. Text('layoutWeight(1)')
  10. .textAlign(TextAlign.Center)
  11. }.layoutWeight(2).backgroundColor(0xffd306).height('100%')
  12. Column() {
  13. Text('layoutWeight(2)')
  14. .textAlign(TextAlign.Center)
  15. }.layoutWeight(4).backgroundColor(0xffed97).height('100%')
  16. Column() {
  17. Text('layoutWeight(6)')
  18. .textAlign(TextAlign.Center)
  19. }.layoutWeight(6).backgroundColor(0xffd306).height('100%')
  20. }.backgroundColor(0xffd306).height('30%')
  21. Text('2:5:3').width('100%')
  22. Row() {
  23. Column() {
  24. Text('layoutWeight(2)')
  25. .textAlign(TextAlign.Center)
  26. }.layoutWeight(2).backgroundColor(0xffd306).height('100%')
  27. Column() {
  28. Text('layoutWeight(5)')
  29. .textAlign(TextAlign.Center)
  30. }.layoutWeight(5).backgroundColor(0xffed97).height('100%')
  31. Column() {
  32. Text('layoutWeight(3)')
  33. .textAlign(TextAlign.Center)
  34. }.layoutWeight(3).backgroundColor(0xffd306).height('100%')
  35. }.backgroundColor(0xffd306).height('30%')
  36. }
  37. }
  38. }

 

2.父容器尺寸确定时,使用百分比设置子组件以及兄弟组件的width宽度,可以保证各自元素在任意尺寸下的自适应占比。

  1. @Entry
  2. @Component
  3. struct WidthExample {
  4. build() {
  5. Column() {
  6. Row() {
  7. Column() {
  8. Text('left width 20%')
  9. .textAlign(TextAlign.Center)
  10. }.width('20%').backgroundColor(0xffd306).height('100%')
  11. Column() {
  12. Text('center width 50%')
  13. .textAlign(TextAlign.Center)
  14. }.width('50%').backgroundColor(0xffed97).height('100%')
  15. Column() {
  16. Text('right width 30%')
  17. .textAlign(TextAlign.Center)
  18. }.width('30%').backgroundColor(0xffd306).height('100%')
  19. }.backgroundColor(0xffd306).height('30%')
  20. }
  21. }
  22. }

 

 

上例中,在任意大小的设备中,子组件的宽度占比固定。

参考引用自官方文档。

 

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

闽ICP备14008679号