当前位置: 首页 > news >正文

网页网站设计公司有哪些广州番禺区核酸检测点

网页网站设计公司有哪些,广州番禺区核酸检测点,wordpress 上传图片大小,做网站找俊义 合优在 HarmonyOS 应用开发的世界里,界面布局如同搭建高楼大厦的框架,决定着用户与应用交互的第一印象和使用体验。合理的布局不仅能让界面元素整齐有序、美观协调,还能适应不同设备的屏幕尺寸和分辨率。本文将深入剖析 HarmonyOS 中的常见布局方…

        在 HarmonyOS 应用开发的世界里,界面布局如同搭建高楼大厦的框架,决定着用户与应用交互的第一印象和使用体验。合理的布局不仅能让界面元素整齐有序、美观协调,还能适应不同设备的屏幕尺寸和分辨率。本文将深入剖析 HarmonyOS 中的常见布局方式,帮助开发者打造出出色的应用界面。

 前置条件

        在开始本文章内容之前,博主希望开发者已完成 HarmonyOS 开发环境 的搭建。详情请参考:HarmonyOS 开发环境搭建

线性布局(DirectionalLayout) 

应用场景:

  • 如果布局内子元素超过1个时,且能够以某种方式线性排列时优先考虑此布局。

         线性布局(LinearLayout)是开发中最常用的布局,通过线性容器 Row 和 Column 构建。线性布局是其他布局的基础,其子元素在线性方向上(水平方向和垂直方向)依次排列。

        线性布局 的排列方向由所选容器组件决定,Row容器内子元素按照水平方向排列,Column容器内子元素按照垂直方向排列。

        根据不同的排列方向,开发者可选择使用Row或Column容器创建线性布局。

@Entry
@Component
struct Index {build() {RelativeContainer() {// 线性布局 [Column 为垂直线性容器]Column({ space: 20 }) {// 线性布局 [Row 为水平线性容器]Row({ space: 35 }) {Text('space: 35').fontSize(15).fontColor(Color.Gray)Text('space: 35').fontSize(15).fontColor(Color.Gray)Text('space: 35').fontSize(15).fontColor(Color.Gray)}.width('90%').height(50).backgroundColor(0xF5DEB3)Row({ space: 35 }) {Text('space: 35').fontSize(15).fontColor(Color.Gray)Text('space: 35').fontSize(15).fontColor(Color.Gray)Text('space: 35').fontSize(15).fontColor(Color.Gray)}.width('90%').height(50).backgroundColor(0xF5DEB3)}.width('100%').height('120px').justifyContent(FlexAlign.Start)}.height('100%').width('100%')}
}

布局子元素在主轴上的排列方式

参数说明
space在布局容器内,可以通过space属性设置排列方向上子元素的间距,使各子元素在排列方向上有等间距效果。
justifyContent在布局容器内,可以通过justifyContent属性设置子元素在容器主轴上的排列方式。可以从主轴起始位置开始排布,也可以从主轴结束位置开始排布,或者均匀分割主轴的空间。

Column容器内子元素在垂直方向上的排列

属性说明
FlexAlign.Start元素在 垂直方向 首端对齐,第一个元素与行首对齐,同时后续的元素与前一个对齐。
FlexAlign.Center元素在 垂直方向 中心对齐,第一个元素与行首的距离与最后一个元素与行尾距离相同。
FlexAlign.End元素在 垂直方向 尾部对齐,最后一个元素与行尾对齐,其他元素与后一个对齐。
FlexAlign.SpaceBetween垂直方向 均匀分配元素,相邻元素之间距离相同。第一个元素与行首对齐,最后一个元素与行尾对齐。
FlexAlign.SpaceAround垂直方向 均匀分配元素,相邻元素之间距离相同。第一个元素到行首的距离和最后一个元素到行尾的距离是相邻元素之间距离的一半。
FlexAlign.SpaceEvenly垂直方向 均匀分配元素,相邻元素之间的距离、第一个元素与行首的间距、最后一个元素到行尾的间距都完全一样。

Row容器内子元素在水平方向上的排列

属性说明
FlexAlign.Start元素在 水平方向 首端对齐,第一个元素与行首对齐,同时后续的元素与前一个对齐。
FlexAlign.Center元素在 水平方向 中心对齐,第一个元素与行首的距离与最后一个元素与行尾距离相同。
FlexAlign.End元素在 水平方向 尾部对齐,最后一个元素与行尾对齐,其他元素与后一个对齐。
FlexAlign.SpaceBetween水平方向 均匀分配元素,相邻元素之间距离相同。第一个元素与行首对齐,最后一个元素与行尾对齐。
FlexAlign.SpaceAround水平方向 均匀分配元素,相邻元素之间距离相同。第一个元素到行首的距离和最后一个元素到行尾的距离是相邻元素之间距离的一半。
FlexAlign.SpaceEvenly水平方向 均匀分配元素,相邻元素之间的距离、第一个元素与行首的间距、最后一个元素到行尾的间距都完全一样。

布局子元素在交叉轴上的对齐方式

参数说明
alignItems在布局容器内,可以通过alignItems属性设置子元素在交叉轴(排列方向的垂直方向)上的对齐方式,且在各类尺寸屏幕中表现一致。其中,交叉轴为垂直方向时,取值为VerticalAlign类型,水平方向取值为HorizontalAlign类型。

    Column容器内子元素在水平方向上的排列

    参数说明
    HorizontalAlign.Start子元素在水平方向左对齐。
    HorizontalAlign.Center子元素在水平方向居中对齐。
    HorizontalAlign.End子元素在水平方向右对齐。

    Row容器内子元素在垂直方向上的排列

    参数说明
    VerticalAlign.Top子元素在垂直方向顶部对齐。
    VerticalAlign.Center子元素在垂直方向居中对齐。
    VerticalAlign.Bottom子元素在垂直方向底部对齐。

    自适应拉伸

            在线性布局下,常用空白填充组件Blank,在容器主轴方向自动填充空白空间,达到自适应拉伸效果。Row 和 Column 作为容器,只需要添加宽高为百分比,当屏幕宽高发生变化时,会产生自适应效果。

    @Entry
    @Component
    struct BlankExample {build() {Column() {Row() {Text('Bluetooth').fontSize(18)Blank()Toggle({ type: ToggleType.Switch, isOn: true })}.backgroundColor(0xFFFFFF).borderRadius(15).padding({ left: 12 }).width('100%')}.backgroundColor(0xEFEFEF).padding(20).width('100%')}
    }

    自适应缩放

            自适应缩放是指子元素随容器尺寸的变化而按照预设的比例自动调整尺寸,适应各种不同大小的设备。在线性布局中,可以使用以下两种方法实现自适应缩放。

    • 父容器尺寸确定时,使用layoutWeight属性设置子元素和兄弟元素在主轴上的权重,忽略元素本身尺寸设置,使它们在任意尺寸的设备下自适应占满剩余空间。
    • 父容器尺寸确定时,使用百分比设置子元素和兄弟元素的宽度,使他们在任意尺寸的设备下保持固定的自适应占比。

    自适应延伸

            自适应延伸是指在不同尺寸设备下,当页面的内容超出屏幕大小而无法完全显示时,可以通过滚动条进行拖动展示。对于线性布局,这种方法适用于容器中内容无法一屏展示的场景。通常有以下两种实现方式。

    • 在List中添加滚动条:当List子项过多一屏放不下时,可以将每一项子元素放置在不同的组件中,通过滚动条进行拖动展示。可以通过scrollBar属性设置滚动条的常驻状态,edgeEffect属性设置拖动到内容最末端的回弹效果。

    • 使用Scroll组件:在线性布局中,开发者可以进行垂直方向或者水平方向的布局。当一屏无法完全显示时,可以在Column或Row组件的外层包裹一个可滚动的容器组件Scroll来实现可滑动的线性布局。

    垂直方向布局中使用Scroll组件:

    @Entry
    @Component
    struct ScrollExample {scroller: Scroller = new Scroller();private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];build() {Scroll(this.scroller) {Column() {ForEach(this.arr, (item?:number|undefined) => {if(item){Text(item.toString()).width('90%').height(150).backgroundColor(0xFFFFFF).borderRadius(15).fontSize(16).textAlign(TextAlign.Center).margin({ top: 10 })}}, (item:number) => item.toString())}.width('100%')}.backgroundColor(0xDCDCDC).scrollable(ScrollDirection.Vertical) // 滚动方向为垂直方向.scrollBar(BarState.On) // 滚动条常驻显示.scrollBarColor(Color.Gray) // 滚动条颜色.scrollBarWidth(10) // 滚动条宽度.edgeEffect(EdgeEffect.Spring) // 滚动到边沿后回弹}
    }

    水平方向布局中使用Scroll组件: 

    @Entry
    @Component
    struct ScrollExample {scroller: Scroller = new Scroller();private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];build() {Scroll(this.scroller) {Row() {ForEach(this.arr, (item?:number|undefined) => {if(item){Text(item.toString()).height('90%').width(150).backgroundColor(0xFFFFFF).borderRadius(15).fontSize(16).textAlign(TextAlign.Center).margin({ left: 10 })}})}.height('100%')}.backgroundColor(0xDCDCDC).scrollable(ScrollDirection.Horizontal) // 滚动方向为水平方向.scrollBar(BarState.On) // 滚动条常驻显示.scrollBarColor(Color.Gray) // 滚动条颜色.scrollBarWidth(10) // 滚动条宽度.edgeEffect(EdgeEffect.Spring) // 滚动到边沿后回弹}
    }

            以上详细介绍了 HarmonyOS 的线性布局在实战中的使用方式。若你在实际开发中遇到问题,或想了解某类布局的更多进阶用法,欢迎随时和我交流。

    http://www.yayakq.cn/news/270136/

    相关文章:

  • 做电缆好的网站软件工程与项目管理
  • 房屋信息网站搜索引擎优化关键词选择的方法有哪些
  • 坪地网站建设商务网站建设期末考试
  • 佛山 做网站公司有哪些如何设计网站建设方案
  • 北京网站开发服务网页图片一般不会采用什么格式
  • 贵州建设职业技术学院网站查成绩wordpress的cookies
  • 工商注册官方网站十堰秦楚网主页
  • asp网站后台管理系统模板南京做网站建设
  • 什么公司需要网站建设现在怎么做跨境电商平台
  • 软件网站开发设计网页制作设计框架
  • 企业网站建设 全包做游戏小网站是啥
  • 全国住房建设部网站高档vi设计公司
  • 网站怎么做网站收录个人网站 怎么设计
  • 给公司创建网站流程wordpress 商城小程序
  • 如何快速备案网站邢台168交友最新信息
  • 网站布局模式编辑图片的软件
  • 平台类网站开发百度反馈中心
  • 建设大型门户网站学做企业网站
  • 深圳一元购网站设计公司谷歌浏览器官网
  • 网站竞价推广哪个好网站首页设计排版要点
  • 技术支持 天空网络-临汾做网站工商营业执照年检
  • 珠海市网站设计公司为企业打造赚钱系统
  • 婚恋网站系统分类门户网站系统
  • 买域名做网站的坏处深圳市建网站公
  • 做网站买过域名之后网页空间网站
  • 大型自助建站平台暴雪被收购
  • 网站托管服务内容制作网页常见的布局方法有
  • 网站开发设计与实现残疾人服务平台
  • 建设公司网站多少钱智慧校园平台
  • 一级a做爰片免费网站天天看网站维护一般怎么做