0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙ArkTS声明式开发:跨平台支持列表【位置设置】 通用属性

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-05-31 11:17 次阅读

位置设置

设置组件的对齐方式、布局方向和显示位置。

说明:
开发前请熟悉鸿蒙开发指导文档 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

属性

名称参数类型描述
align[Alignment]设置元素内容在元素绘制区域内的对齐方式。 只在Stack、Button、Marquee、StepperItem、text、TextArea、TextInput中生效,其中和文本相关的组件Marquee、text、TextArea、TextInput的align结果参考[textAlign]。 不支持textAlign属性的组件则无法设置水平方向的文字对齐。 默认值:Alignment.Center 从API version 9开始,该接口支持在ArkTS卡片中使用。
direction[Direction]设置元素水平方向的布局。 默认值:Direction.Auto 从API version 9开始,该接口支持在ArkTS卡片中使用。
position[Position]绝对定位,设置元素左上角相对于父容器左上角偏移位置。在布局容器中,设置该属性不参与父容器布局,即不占位,仅在绘制时进行位置调整。 适用于置顶显示、悬浮按钮等组件在父容器中位置固定的场景。 从API version 9开始,该接口支持在ArkTS卡片中使用。
markAnchor[Position]设置元素在位置定位时的锚点,以元素左上角作为基准点进行偏移。通常配合position和offset属性使用,单独使用时,效果类似offset API version 9及以前,默认值为: { x: 0, y: 0 } API version 10:无默认值。 从API version 9开始,该接口支持在ArkTS卡片中使用。
offset[Position]相对定位,设置元素相对于自身的偏移量。设置该属性后子组件正常参与父容器布局,在绘制时基于父容器给予的offset做一次额外的偏移。 API version 9及以前,默认值为: { x: 0, y: 0 } API version 10:无默认值。 从API version 9开始,该接口支持在ArkTS卡片中使用。
alignRules9+{ left?: { anchor: string, align: [HorizontalAlign] }; right?: { anchor: string, align: [HorizontalAlign] }; middle?: { anchor: string, align: [HorizontalAlign] }; top?: { anchor: string, align: [VerticalAlign] }; bottom?: { anchor: string, align: [VerticalAlign] }; center?: { anchor: string, align: [VerticalAlign] } }指定相对容器的对齐规则,仅当父容器为[RelativeContainer]时生效。 - left:设置左对齐参数。 - right:设置右对齐参数。 - middle:设置中间对齐的参数。 - top:设置顶部对齐的参数。 - bottom:设置底部对齐的参数。 - center:设置中心对齐的参数。 该接口支持在ArkTS卡片中使用。说明:- anchor:设置作为锚点的组件的id值。 - align:设置相对于锚点组件的对齐方式。

示例

示例1

// xxx.ets
@Entry
@Component
struct PositionExample1 {
  build() {
    Column() {
      Column({ space: 10 }) {
        // 元素内容< 元素宽高,设置内容在与元素内的对齐方式
        Text('align').fontSize(9).fontColor(0xCCCCCC).width('90%')
        Stack() {
          Text('First show in bottom end').height('65%').backgroundColor(0xD2B48C)
          Text('Second show in bottom end').backgroundColor(0xF5DEB3).opacity(0.9)
        }.width('90%').height(50).margin({ top: 5 }).backgroundColor(0xFFE4C4)
        .align(Alignment.BottomEnd)
        Stack() {
          Text('top start')
        }.width('90%').height(50).margin({ top: 5 }).backgroundColor(0xFFE4C4)
        .align(Alignment.TopStart)

        // 父容器设置direction为Direction.Ltr,子元素从左到右排列
        Text('direction').fontSize(9).fontColor(0xCCCCCC).width('90%')
        Row() {
          Text('1').height(50).width('25%').fontSize(16).backgroundColor(0xF5DEB3)
          Text('2').height(50).width('25%').fontSize(16).backgroundColor(0xD2B48C)
          Text('3').height(50).width('25%').fontSize(16).backgroundColor(0xF5DEB3)
          Text('4').height(50).width('25%').fontSize(16).backgroundColor(0xD2B48C)
        }
        .width('90%')
        .direction(Direction.Ltr)
        // 父容器设置direction为Direction.Rtl,子元素从右到左排列
        Row() {
          Text('1').height(50).width('25%').fontSize(16).backgroundColor(0xF5DEB3).textAlign(TextAlign.End)
          Text('2').height(50).width('25%').fontSize(16).backgroundColor(0xD2B48C).textAlign(TextAlign.End)
          Text('3').height(50).width('25%').fontSize(16).backgroundColor(0xF5DEB3).textAlign(TextAlign.End)
          Text('4').height(50).width('25%').fontSize(16).backgroundColor(0xD2B48C).textAlign(TextAlign.End)
        }
        .width('90%')
        .direction(Direction.Rtl)
      }
    }
    .width('100%').margin({ top: 5 })
  }
}

align.png

示例2

鸿蒙文档.png

`HarmonyOSOpenHarmony鸿蒙文档籽料:mau123789v直接拿`

// xxx.ets
@Entry
@Component
struct PositionExample2 {
  build() {
    Column({ space: 20 }) {
      // 设置子组件左上角相对于父组件左上角的偏移位置
      Text('position').fontSize(12).fontColor(0xCCCCCC).width('90%')
      Row() {
        Text('1').size({ width: '30%', height: '50' }).backgroundColor(0xdeb887).border({ width: 1 }).fontSize(16)
          .textAlign(TextAlign.Center)
        Text('2 position(30, 10)')
          .size({ width: '60%', height: '30' })
          .backgroundColor(0xbbb2cb)
          .border({ width: 1 })
          .fontSize(16)
          .align(Alignment.Start)
          .position({ x: 30, y: 10 })
        Text('3').size({ width: '45%', height: '50' }).backgroundColor(0xdeb887).border({ width: 1 }).fontSize(16)
          .textAlign(TextAlign.Center)
        Text('4 position(50%, 70%)')
          .size({ width: '50%', height: '50' })
          .backgroundColor(0xbbb2cb)
          .border({ width: 1 })
          .fontSize(16)
          .position({ x: '50%', y: '70%' })
      }.width('90%').height(100).border({ width: 1, style: BorderStyle.Dashed })

      // 相对于起点偏移,其中x为最终定位点距离起点水平方向间距,x >0往左,反之向右。
      // y为最终定位点距离起点垂直方向间距,y >0向上,反之向下
      Text('markAnchor').fontSize(12).fontColor(0xCCCCCC).width('90%')
      Stack({ alignContent: Alignment.TopStart }) {
        Row()
          .size({ width: '100', height: '100' })
          .backgroundColor(0xdeb887)
        Text('text')
          .fontSize('30px')
          .textAlign(TextAlign.Center)
          .size({ width: 25, height: 25 })
          .backgroundColor(Color.Green)
          .markAnchor({ x: 25, y: 25 })
        Text('text')
          .fontSize('30px')
          .textAlign(TextAlign.Center)
          .size({ width: 25, height: 25 })
          .backgroundColor(Color.Green)
          .markAnchor({ x: -100, y: -25 })
        Text('text')
          .fontSize('30px')
          .textAlign(TextAlign.Center)
          .size({ width: 25, height: 25 })
          .backgroundColor(Color.Green)
          .markAnchor({ x: 25, y: -25 })
      }.margin({ top: 25 }).border({ width: 1, style: BorderStyle.Dashed })

      // 相对定位,x >0向右偏移,反之向左,y >0向下偏移,反之向上
      Text('offset').fontSize(12).fontColor(0xCCCCCC).width('90%')
      Row() {
        Text('1').size({ width: '15%', height: '50' }).backgroundColor(0xdeb887).border({ width: 1 }).fontSize(16)
          .textAlign(TextAlign.Center)
        Text('2  offset(15, 30)')
          .size({ width: 120, height: '50' })
          .backgroundColor(0xbbb2cb)
          .border({ width: 1 })
          .fontSize(16)
          .align(Alignment.Start)
          .offset({ x: 15, y: 30 })
        Text('3').size({ width: '15%', height: '50' }).backgroundColor(0xdeb887).border({ width: 1 }).fontSize(16)
          .textAlign(TextAlign.Center)
        Text('4 offset(-10%, 20%)')
          .size({ width: 100, height: '50' })
          .backgroundColor(0xbbb2cb)
          .border({ width: 1 })
          .fontSize(16)
          .offset({ x: '-5%', y: '20%' })
      }.width('90%').height(100).border({ width: 1, style: BorderStyle.Dashed })
    }
    .width('100%').margin({ top: 25 })
  }
}

position.png

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 鸿蒙
    +关注

    关注

    57

    文章

    2301

    浏览量

    42663
收藏 人收藏

    评论

    相关推荐

    鸿蒙ArkTS声明开发平台支持列表【图片边框设置通用属性

    从API Version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
    的头像 发表于 05-31 09:41 703次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>声明</b><b class='flag-5'>式</b><b class='flag-5'>开发</b>:<b class='flag-5'>跨</b><b class='flag-5'>平台</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【图片边框<b class='flag-5'>设置</b>】 <b class='flag-5'>通用</b><b class='flag-5'>属性</b>

    HarmonyOS/OpenHarmony应用开发-ArkTS声明开发范式

    基于ArkTS声明开发范式的方舟开发框架是一套开发极简、高性能、
    发表于 01-17 15:09

    鸿蒙ArkTS声明开发平台支持列表【按键事件】

    按键事件指组件与键盘、遥控器等按键设备交互时触发的事件,适用于所有可获焦组件,例如Button。对于Text,Image等默认不可获焦的组件,可以设置focusable属性为true后使用按键事件。
    的头像 发表于 05-28 18:12 778次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>声明</b><b class='flag-5'>式</b><b class='flag-5'>开发</b>:<b class='flag-5'>跨</b><b class='flag-5'>平台</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【按键事件】

    鸿蒙ArkTS声明开发平台支持列表【尺寸设置通用属性

    从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
    的头像 发表于 05-29 14:59 391次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>声明</b><b class='flag-5'>式</b><b class='flag-5'>开发</b>:<b class='flag-5'>跨</b><b class='flag-5'>平台</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【尺寸<b class='flag-5'>设置</b>】 <b class='flag-5'>通用</b><b class='flag-5'>属性</b>

    鸿蒙ArkTS声明开发平台支持列表【边框设置通用属性

    从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
    的头像 发表于 05-31 09:48 780次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>声明</b><b class='flag-5'>式</b><b class='flag-5'>开发</b>:<b class='flag-5'>跨</b><b class='flag-5'>平台</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【边框<b class='flag-5'>设置</b>】 <b class='flag-5'>通用</b><b class='flag-5'>属性</b>

    鸿蒙ArkTS声明开发平台支持列表【背景设置通用属性

    从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
    的头像 发表于 05-31 15:22 526次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>声明</b><b class='flag-5'>式</b><b class='flag-5'>开发</b>:<b class='flag-5'>跨</b><b class='flag-5'>平台</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【背景<b class='flag-5'>设置</b>】 <b class='flag-5'>通用</b><b class='flag-5'>属性</b>

    鸿蒙ArkTS声明开发平台支持列表【透明度设置通用属性

    从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
    的头像 发表于 06-03 15:59 497次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>声明</b><b class='flag-5'>式</b><b class='flag-5'>开发</b>:<b class='flag-5'>跨</b><b class='flag-5'>平台</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【透明度<b class='flag-5'>设置</b>】 <b class='flag-5'>通用</b><b class='flag-5'>属性</b>

    鸿蒙ArkTS声明开发平台支持列表【显隐控制】 通用属性

    控制当前组件显示或隐藏。注意,即使组件处于隐藏状态,在页面刷新时仍存在重新创建过程,因此当对性能有严格要求时建议使用[条件渲染]代替。 默认值:Visibility.Visible 从API version 9开始,该接口支持ArkTS卡片中使用。
    的头像 发表于 06-03 14:46 514次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>声明</b><b class='flag-5'>式</b><b class='flag-5'>开发</b>:<b class='flag-5'>跨</b><b class='flag-5'>平台</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【显隐控制】 <b class='flag-5'>通用</b><b class='flag-5'>属性</b>

    鸿蒙ArkTS声明开发平台支持列表【形状裁剪】 通用属性

    参数为相应类型的组件,按指定的形状对当前组件进行裁剪;参数为boolean类型时,设置是否按照父容器边缘轮廓进行裁剪。 默认值:false 从API version 9开始,该接口支持ArkTS卡片中使用。
    的头像 发表于 06-04 15:22 374次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>声明</b><b class='flag-5'>式</b><b class='flag-5'>开发</b>:<b class='flag-5'>跨</b><b class='flag-5'>平台</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【形状裁剪】 <b class='flag-5'>通用</b><b class='flag-5'>属性</b>

    鸿蒙ArkTS声明开发平台支持列表【栅格设置通用属性

    默认占用列数,指useSizeType属性没有设置对应尺寸的列数(span)时,占用的栅格列数。
    的头像 发表于 06-05 09:28 327次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>声明</b><b class='flag-5'>式</b><b class='flag-5'>开发</b>:<b class='flag-5'>跨</b><b class='flag-5'>平台</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【栅格<b class='flag-5'>设置</b>】 <b class='flag-5'>通用</b><b class='flag-5'>属性</b>

    鸿蒙ArkTS声明开发平台支持列表【菜单控制】 通用属性

    为组件绑定弹出菜单,弹出菜单以垂直列表形式显示菜单项,可通过长按、点击或鼠标右键触发。
    的头像 发表于 06-06 09:17 468次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>声明</b><b class='flag-5'>式</b><b class='flag-5'>开发</b>:<b class='flag-5'>跨</b><b class='flag-5'>平台</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【菜单控制】 <b class='flag-5'>通用</b><b class='flag-5'>属性</b>

    鸿蒙ArkTS声明开发平台支持列表【多态样式】 通用属性

    设置组件不同状态的样式。 从API version 9开始,该接口支持ArkTS卡片中使用。
    的头像 发表于 06-07 09:48 331次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>声明</b><b class='flag-5'>式</b><b class='flag-5'>开发</b>:<b class='flag-5'>跨</b><b class='flag-5'>平台</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【多态样式】 <b class='flag-5'>通用</b><b class='flag-5'>属性</b>

    鸿蒙ArkTS声明开发平台支持列表【前景色设置通用属性

    设置组件的前景颜色或者根据智能取色策略设置前景颜色。
    的头像 发表于 06-07 16:19 344次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>声明</b><b class='flag-5'>式</b><b class='flag-5'>开发</b>:<b class='flag-5'>跨</b><b class='flag-5'>平台</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【前景色<b class='flag-5'>设置</b>】 <b class='flag-5'>通用</b><b class='flag-5'>属性</b>

    鸿蒙ArkTS声明开发平台支持列表【无障碍属性通用属性

    组件可以设置相应的无障碍属性和事件来更好地使用无障碍能力。
    的头像 发表于 06-11 17:30 328次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>声明</b><b class='flag-5'>式</b><b class='flag-5'>开发</b>:<b class='flag-5'>跨</b><b class='flag-5'>平台</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【无障碍<b class='flag-5'>属性</b>】 <b class='flag-5'>通用</b><b class='flag-5'>属性</b>

    鸿蒙ArkTS声明开发平台支持列表【文本通用

    文本通用属性目前只针对包含文本元素的组件,设置文本样式。
    的头像 发表于 06-13 15:09 380次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>声明</b><b class='flag-5'>式</b><b class='flag-5'>开发</b>:<b class='flag-5'>跨</b><b class='flag-5'>平台</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【文本<b class='flag-5'>通用</b>】