码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 鸿蒙HarmonyOS实战-ArkUI组件(Button)


    合集 - 鸿蒙入门实战全套(核心知识点)(17)
    1.鸿蒙HarmonyOS实战-ArkTS语言(基本语法)03-202.鸿蒙HarmonyOS实战-ArkTS语言(状态管理)03-213.鸿蒙HarmonyOS实战-ArkTS语言(渲染控制)03-214.鸿蒙HarmonyOS实战-ArkUI组件(Row/Column)03-225.鸿蒙HarmonyOS实战-ArkUI组件(Stack)03-236.鸿蒙HarmonyOS实战-ArkUI组件(Flex)03-247.鸿蒙HarmonyOS实战-ArkUI组件(RelativeContainer)03-258.鸿蒙HarmonyOS实战-ArkUI组件(GridRow/GridCol)03-269.鸿蒙HarmonyOS实战-ArkUI组件(mediaquery)03-2710.鸿蒙HarmonyOS实战-ArkUI组件(List)03-2911.鸿蒙HarmonyOS实战-ArkUI组件(Grid/GridItem)03-2912.鸿蒙HarmonyOS实战-ArkUI组件(Swiper)03-30
    13.鸿蒙HarmonyOS实战-ArkUI组件(Button)04-01
    14.鸿蒙HarmonyOS实战-ArkUI组件(Radio)04-0215.鸿蒙HarmonyOS实战-ArkUI组件(Toggle)04-0216.鸿蒙HarmonyOS实战-ArkUI组件(Progress)04-0317.鸿蒙HarmonyOS实战-ArkUI组件(Text/Span)04-03
    收起

    🚀一、Button

    Button(按钮)是一种常见的用户界面控件,通常用于触发操作或提交数据。Button 拥有文本标签和一个可点击的区域,用户点击该区域即可触发相应的操作或事件。

    Button 的主要功能有:

    • 触发操作:用户点击 Button 可以触发相应的操作,例如提交表单、搜索、切换页面等。

    • 提交数据:Button 可以用于提交表单数据,将用户输入的数据提交到服务器进行处理。

    • 执行命令:Button 可以执行系统或应用程序的命令,例如打印、保存、退出等。

    • 触发事件:Button 可以触发自定义事件,通过与其他组件配合使用,可以实现复杂的交互效果。

    🔎1.创建按钮

    语法说明:

    Button(label?: string, options?: { type?: ButtonType, stateEffect?: boolean })
    Button(options?: {type?: ButtonType, stateEffect?: boolean})
    

    使用:

    @Entry
    @Component
    struct Index {
      build() {
        Column(){
          Button('Ok', { type: ButtonType.Normal, stateEffect: true })
            .borderRadius(8)
            .backgroundColor(0x317aff)
            .width(90)
            .height(40)
          Button({ type: ButtonType.Normal, stateEffect: true }) {
            Row() {
              Image($r('app.media.app_icon')).width(20).height(40).margin({ left: 12 })
              Text('loading').fontSize(12).fontColor(0xffffff).margin({ left: 5, right: 12 })
            }.alignItems(VerticalAlign.Center)
          }.borderRadius(8).backgroundColor(0x317aff).width(90).height(40)
        }
      }
    }
    

    image

    🔎2.设置按钮类型

    @Entry
    @Component
    struct Index {
      build() {
        Column(){
          Button('Disable', { type: ButtonType.Capsule, stateEffect: false })
            .backgroundColor(0x317aff)
            .width(90)
            .height(40)
          Button('Circle', { type: ButtonType.Circle, stateEffect: false })
            .backgroundColor(0x317aff)
            .width(90)
            .height(90)
          Button('Circle', { type: ButtonType.Normal, stateEffect: false })
            .backgroundColor(0x317aff)
            .width(90)
            .height(90)
        }
      }
    }
    

    image

    注意:不支持通过borderRadius属性重新设置

    🔎3.自定义样式

    @Entry
    @Component
    struct Index {
      build() {
        Column(){
          Button('circle border', { type: ButtonType.Normal })
            .borderRadius(20)
            .height(40)
          Button('font style', { type: ButtonType.Normal })
            .fontSize(20)
            .fontColor(Color.Pink)
            .fontWeight(800)
          Button('background color').backgroundColor(0xF55A42)
          Button({ type: ButtonType.Circle, stateEffect: true }) {
            Image($r('app.media.ic_public_refresh')).width(30).height(30)
          }.width(55).height(55).margin({ left: 20 }).backgroundColor(0xF55A42)
        }
      }
    }
    

    image

    🔎4.添加事件

    Button('Ok', { type: ButtonType.Normal, stateEffect: true }) 
      .onClick(()=>{ 
        console.info('Button onClick') 
      })
    

    🔎5.案例

    Button按钮的实际应用场景主要包括以下几个方面:

    点击提交表单

    当用户填写完表单后,点击Button按钮来提交表单数据,使得数据能够被服务器端处理或者保存到数据库中。

    跳转链接

    当用户点击Button按钮时,跳转到指定的网页、应用程序或者其他页面。

    打开或关闭弹窗

    当用户点击Button按钮时,打开或关闭弹窗,可以在弹窗中展示一些信息、广告或者提示。

    执行某个动作

    当用户点击Button按钮时,执行某个操作,比如刷新页面、播放音乐、暂停视频等。

    切换页面状态

    当用户点击Button按钮时,可以切换页面的状态,比如打开或关闭菜单、切换语言、切换主题等。

    Button按钮的应用场景非常广泛,基本上所有需要用户交互的场景都可以使用Button按钮来实现。

    🦋2.1 页面跳转

    // xxx.ets
    import router from '@ohos.router';
    @Entry
    @Component
    struct ButtonCase1 {
      build() {
        List({ space: 4 }) {
          ListItem() {
            Button("First").onClick(() => {
              router.pushUrl({ url: 'pages/first_page' })
            })
              .width('100%')
          }
          ListItem() {
            Button("Second").onClick(() => {
              router.pushUrl({ url: 'pages/second_page' })
            })
              .width('100%')
          }
          ListItem() {
            Button("Third").onClick(() => {
              router.pushUrl({ url: 'pages/third_page' })
            })
              .width('100%')
          }
        }
        .listDirection(Axis.Vertical)
        .backgroundColor(0xDCDCDC).padding(20)
      }
    }
    

    image

    🦋2.2 表单提交

    // xxx.ets
    import router from '@ohos.router';
    @Entry
    @Component
    struct Index {
      build() {
        Column() {
          TextInput({ placeholder: 'input your username' }).margin({ top: 20 })
          TextInput({ placeholder: 'input your password' }).type(InputType.Password).margin({ top: 20 })
          Button('Register').width(300).margin({ top: 20 })
            .onClick(() => {
              // 需要执行的操作
            })
        }.padding(20)
      }
    }
    

    image

    🦋2.3 悬浮按钮

    // xxx.ets
    import router from '@ohos.router';
    @Entry
    @Component
    struct Index {
      private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
      build() {
        Stack() {
          List({ space: 20, initialIndex: 0 }) {
            ForEach(this.arr, (item) => {
              ListItem() {
                Text('' + item)
                  .width('100%').height(100).fontSize(16)
                  .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFFFFFF)
              }
            }, item => item)
          }.width('90%')
          Button() {
            Image($r('app.media.ic_public_refresh'))
              .width(50)
              .height(50)
          }
          .width(60)
          .height(60)
          .position({x: '80%', y: 600})
          .shadow({radius: 10})
          .onClick(() => {
            // 需要执行的操作
          })
        }
        .width('100%')
        .height('100%')
        .backgroundColor(0xDCDCDC)
        .padding({ top: 5 })
      }
    }
    

    image

    🚀写在最后

    • 如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
    • 点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
    • 关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。
    • 更多鸿蒙最新技术知识点,请关注作者博客:https://t.doruo.cn/14DjR1rEY

    image

  • 相关阅读:
    C++二分算法: 找出第 K 小的数对距离
    SVE学习记录- SVE特性以及寄存器
    【开源】给ChatGLM写个,Java对接的SDK
    设计模式--适配器模式
    一文搞懂Zookeeper原理
    【CTA系列】复合中短周期双均线策略
    【Python Web】Flask框架(五)Bootstrap登录和后台管理案例
    Python while循环语句语法格式
    【FPGA】计数器 —— 时序逻辑
    Selective Kernel Networks论文总结和代码实现
  • 原文地址:https://www.cnblogs.com/shudaoshan/p/18108405
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号