鸿蒙应用开发从入门到实战(十五):线性布局案例

简介: ArkUI提供了丰富的系统组件,用于制作鸿蒙原生应用APP的UI,本文通过简单案例演示如何使用Column和Row组件实现线性布局。

大家好,我是潘Sir,持续分享IT技术,帮你少走弯路。《鸿蒙应用开发从入门到项目实战》系列文章持续更新中,陆续更新AI+编程、企业级项目实战等原创内容、欢迎关注!

ArkUI提供了丰富的系统组件,用于制作鸿蒙原生应用APP的UI,本文通过简单案例演示如何使用Column和Row组件实现线性布局。

一、控制图片缩放

1.1 效果图

1线性布局案例.png

1.2 实现代码

拷贝food.png到目录pages/imgs

pages/layout/linear目录下新建LinearCase.ets

@Entry
@Component
struct LinearCase {
   
  @State imgWidth: number = 250

  build() {
   
    Column() {
   
      Row() {
   
        Image('pages/imgs/food.png')
          .width(this.imgWidth)
          .borderRadius(15)
      }
      .width('100%')
      .height(400)
      .justifyContent(FlexAlign.Center)

      Row() {
   
        Text('图片宽度')
          .fontSize(20)
          .fontWeight(FontWeight.Bold)

        TextInput({
    text: this.imgWidth.toFixed(0) })
          .width(150)
          .backgroundColor('#fff')
          .type(InputType.Number)
          .onChange(value => {
   
            this.imgWidth = parseInt(value)
          })
      }
      .width('100%')
      .padding({
    left: 14, right: 14 })
      .justifyContent(FlexAlign.SpaceBetween)

      Divider()
        .width('91%')

      Row(){
   
        Button('缩小')
          .width(80)
          .fontSize(20)
          .onClick(()=>{
   
            if(this.imgWidth>=10){
   
              this.imgWidth-=10
            }
          })

        Button('放大')
          .width(80)
          .fontSize(20)
          .onClick(()=>{
   
            if(this.imgWidth<300){
   
              this.imgWidth+=10
            }
          })
      }
      .width('100%')
      .margin({
   top:35,bottom:35})
      .justifyContent(FlexAlign.SpaceEvenly)

      Slider({
   
        min:100,
        max:300,
        value:this.imgWidth,
        step:10,
      })
        .width('90%')
        .blockColor('#36D')
        .trackThickness(5)
        .showTips(true)
        .onChange(value=>{
   
          this.imgWidth=value
        })
    }
    .width('100%')
    .height('100%')
  }
}

《鸿蒙应用开发从入门到项目实战》系列文章持续更新中,陆续更新AI+编程、企业级项目实战等原创内容,防止迷路,欢迎关注!

相关文章
|
1月前
|
JSON 自然语言处理 运维
不只是告警:用阿里云可观测 MCP 实现 AK 高效安全审计
本文介绍了运维工程师小王如何通过阿里云操作审计日志与MCP结合,快速排查一次AK异常访问事件。借助自然语言查询技术,小王实现了对敏感操作、高风险行为及Root账号使用的实时追踪与分析,提升了安全响应效率与系统可控性。
217 34
|
2天前
|
存储 安全 Unix
七、Linux Shell 与脚本基础
别再一遍遍地敲重复的命令了,把它们写进Shell脚本,就能一键搞定。脚本本质上就是个存着一堆命令的文本文件,但要让它“活”起来,有几个关键点:文件开头最好用#!/usr/bin/env bash来指定解释器,并用chmod +x给它执行权限。执行时也有讲究:./script.sh是在一个新“房间”(子Shell)里跑,不影响你;而source script.sh是在当前“房间”里跑,适合用来加载环境变量和配置文件。
87 9
|
7天前
|
测试技术 持续交付 项目管理
软件外包靠谱吗?一位老客户的回归与行业的隐秘真相-优雅草卓伊凡
软件外包靠谱吗?一位老客户的回归与行业的隐秘真相-优雅草卓伊凡
50 12
软件外包靠谱吗?一位老客户的回归与行业的隐秘真相-优雅草卓伊凡
|
2天前
|
缓存 安全 Linux
六、Linux核心服务与包管理
在没有网络的情况下,使用系统安装光盘是获取RPM包的常用方法。场景二:配置本地文件镜像源 (使用系统安装光盘/ISO)(检查RPM包的GPG签名以保证安全) 或。YUM/DNF包管理工具 (yum/dnf)(此处可以放置您为本主题制作的思维导图)处理依赖问题的危险选项 (应极力避免)(覆盖文件、替换已安装包)。(list) 则是列出文件。(query file) 是。(假设系统安装光盘已挂载到。信息 (verbose)。(upgrade) 选项。(all) 已安装的包。(package) 选项
58 11
|
30天前
|
人工智能 自然语言处理 数据可视化
聊聊多维表格与BI|AI x Data 数据产品的发展趋势
多维表格与Quick BI深度融合,助力企业在AI与数据时代实现高效分析。多维表格作为轻量级数据管理工具,擅长快速填报与基础分析;而Quick BI则专注于多源数据整合、深度洞察与可视化展示。两者协同,既能降低使用门槛,又能提升数据分析的广度与深度,满足企业从数据采集到智能决策的全链路需求。未来,数据产品将朝着低门槛、多场景与实用性方向发展,推动商业智能迈向新高度。
188 25
|
30天前
|
存储 人工智能 前端开发
从需求到研发全自动:如何基于Multi-Agent架构打造AI前端工程师
本文深入阐述了蚂蚁消金前端团队打造的Multi-Agent智能体平台——“天工万象”的技术实践与核心思考。
564 20
从需求到研发全自动:如何基于Multi-Agent架构打造AI前端工程师
|
22天前
|
缓存 监控 Kubernetes
Java虚拟机内存溢出(Java Heap Space)问题处理方案
综上所述, 解决Java Heap Space溢出需从多角度综合施策; 包括但不限于配置调整、代码审查与优化以及系统设计层面改进; 同样也不能忽视运行期监控与预警设置之重要性; 及早发现潜在风险点并采取相应补救手段至关重要.
169 17
|
24天前
|
人工智能 缓存 自然语言处理
从 Prompt 到 Context:基于 1400+ 论文的 Context Engineering 系统综述
本文探讨了Prompt Engineering的发展趋势及其扩展——Context Engineering的重要性。随着大语言模型(LLM)的发展,构建合适的上下文(context)成为影响模型性能的关键因素。Context Engineering不仅包括传统的提示词工程,还涵盖了上下文的构建、管理与优化,被视为LLM时代的新软件工程范式。文章结合最新研究成果与行业实践,系统解析了Context Engineering的概念、分类、挑战及其在LLM应用中的核心作用,帮助开发者更好地理解和应用这一新兴技术。
222 26
从 Prompt 到 Context:基于 1400+ 论文的 Context Engineering 系统综述
|
27天前
|
人工智能 编解码 数据可视化
AI创作更自由: 魔搭FLowBench云端工作流上线AIGC专区!支持QwenImageEdit免费出图!
很高兴向大家宣布,ModelScope AIGC 专区的工作流功能正式上线!
355 22