当前位置:   article > 正文

HarmonyOS/OpenHarmony应用开发-ArkTS自适应线性布局定位能力实现_harmony 文字自适应

harmony 文字自适应

1.相对定位,使用组件的offset属性可以实现相对定位,设置元素相对于自身的偏移量。设置该属性,不影响父容器布局,仅在绘制时进行位置调整。使用线性布局和offset可以实现大部分布局的开发。
代码实现

  1. @Entry
  2. @Component
  3. struct OffsetExample {
  4. @Styles eleStyle() {
  5. .size({ width: 120, height: '50' })
  6. .backgroundColor(0xbbb2cb)
  7. .border({ width: 1 })
  8. }
  9. build() {
  10. Column({ space: 20 }) {
  11. Row() {
  12. Text('1').size({ width: '15%', height: '50' }).backgroundColor(0xdeb887).border({ width: 1 }).fontSize(16)
  13. Text('2 offset(15, 30)')
  14. .eleStyle()
  15. .fontSize(16)
  16. .align(Alignment.Start)
  17. .offset({ x: 15, y: 30 })
  18. Text('3').size({ width: '15%', height: '50' }).backgroundColor(0xdeb887).border({ width: 1 }).fontSize(16)
  19. Text('4 offset(-10%, 20%)')
  20. .eleStyle()
  21. .fontSize(16)
  22. .offset({ x: '-5%', y: '20%' })
  23. }.width('90%').height(150).border({ width: 1, style: BorderStyle.Dashed })
  24. }
  25. .width('100%')
  26. .margin({ top: 25 })
  27. }
  28. }


2.绝对定位
线性布局中可以使用组件的positon属性实现绝对布局(AbsoluteLayout),设置元素左上角相对于父容器左上角偏移位置。对于不同尺寸的设备,使用绝对定位的适应性会比较差,在屏幕的适配上有缺陷。
代码实现

 

  1. @Entry
  2. @Component
  3. struct PositionExample {
  4. @Styles eleStyle(){
  5. .backgroundColor(0xbbb2cb)
  6. .border({ width: 1 })
  7. .size({ width: 120, height: 50 })
  8. }
  9. build() {
  10. Column({ space: 20 }) {
  11. // 设置子组件左上角相对于父组件左上角的偏移位置
  12. Row() {
  13. Text('position(30, 10)')
  14. .eleStyle()
  15. .fontSize(16)
  16. .position({ x: 10, y: 10 })
  17. Text('position(50%, 70%)')
  18. .eleStyle()
  19. .fontSize(16)
  20. .position({ x: '50%', y: '70%' })
  21. Text('position(10%, 90%)')
  22. .eleStyle()
  23. .fontSize(16)
  24. .position({ x: '10%', y: '80%' })
  25. }.width('90%').height('100%').border({ width: 1, style: BorderStyle.Dashed })
  26. }
  27. .width('90%').margin(25)
  28. }
  29. }

效果展示


参考引用自官方文档。

 

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

闽ICP备14008679号