【鸿蒙学习笔记】基础组件 Button

news2024/11/20 0:34:04

官方文档:按钮 (Button)添加链接描述
官方文档:button开发指导

目录标题

  • 属性迭代完善
    • 不含子组件的按钮
    • 包含子组件的按钮
    • ButtonType
    • 添加事件
    • 跳转超链接
    • 提交表单
    • 悬浮按钮

属性迭代完善

不含子组件的按钮

Column({ space: 10 }) {
  Row() {
    Button('添加子目标', { type: ButtonType.Normal, stateEffect: true }) // type用于设置Button类型,stateEffect属性设置Button是否开启点击效果。
      .width(160)// 宽度
      .height(60)// 高度
      .backgroundColor(Color.Yellow)// 背景色
      .margin({ top: 20, left: 20, right: 20, bottom: 20 })// 外边距
      .padding({ top: 20, left: 20, right: 20, bottom: 20 })// 内边距
      .borderRadius(1)// 四个角的圆弧度
      .fontSize(18)//字体大小
      .fontColor('#007DFF')//字体颜色
      .fontWeight(800) // 字体宽度
      .position({ x: '80%', y: 600 }) // 位置
      .shadow({ radius: 10 }) //重影强度
      .onClick(() => {
        // 某些操作
      }) // 点击事件
  }.width('90%').height(90).border({ width: 1, style: BorderStyle.Dashed })
}.width('100%').height(100).margin({ top: 30 })

包含子组件的按钮

Column({ space: 10 }) {
  Button({ type: ButtonType.Normal, stateEffect: true }) {
    Row() {
      Image($r('app.media.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)
}.width('100%').height(100).margin({ top: 30 })

在这里插入图片描述

ButtonType

Column({ space: 10 }) {
  Text('Normal').fontSize(20).fontColor(Color.Black).width('90%')
  Button('Ok', { type: ButtonType.Normal, stateEffect: true }).width(90).height(40)
  Text('Capsule').fontSize(20).fontColor(Color.Black).width('90%')
  Button('Ok', { type: ButtonType.Capsule, stateEffect: false }).width(90).height(40)
  Text('Circle').fontSize(20).fontColor(Color.Black).width('90%')
  Button('Ok', { type: ButtonType.Circle, stateEffect: false }).width(70).height(70)
  Text('自定义').fontSize(20).fontColor(Color.Black).width('90%')
  Button('Ok', { type: ButtonType.Normal, stateEffect: false }).width(70).height(70).borderRadius(20)
}.width('100%').height(100).margin({ top: 30 })

在这里插入图片描述

添加事件

Column({ space: 10 }) {
  Button('Ok', { type: ButtonType.Normal, stateEffect: true })
    .onClick(() => {
      console.info('Button onClick')
    })
}.width('100%').height(100).margin({ top: 30 })

在这里插入图片描述

跳转超链接

import router from '@ohos.router';

@Entry
@Component
struct SizeExample {
  @State FurL: router.RouterOptions = { 'url': 'pages/FirstPage' }
  @State SurL: router.RouterOptions = { 'url': 'pages/SecondPage' }

  build() {
    List({ space: 4 }) {
      ListItem() {
        Button("First").onClick(() => {
          router.pushUrl(this.FurL)
        }).width('100%')
      }

      ListItem() {
        Button("Second").onClick(() => {
          router.pushUrl(this.SurL)
        }).width('100%')
      }
    }
    .listDirection(Axis.Vertical)
    .backgroundColor(0xDCDCDC).padding(20)
  }
}

在这里插入图片描述

提交表单

  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)
  }
}

在这里插入图片描述

悬浮按钮

private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
build() {
  Stack() {
    List({ space: 20, initialIndex: 0 }) {
      ForEach(this.arr, (item: number) => {
        ListItem() {
          Text('' + item).width('100%').height(100).fontSize(16).textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFFFFFF)
        }
      }, (item: number) => item.toString())
    }.width('90%')
    Button() {
      Image($r('app.media.icon')).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 })
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1887552.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全国总工会党组书记徐留平来苏调研 观摩体验苏州金龙无人驾驶巴士

6月28日,全国总工会党组书记、副主席、书记处第一书记徐留平率队来苏州调研工会工作,并在苏州市劳模工匠人才创新成果展上观摩体验苏州金龙无人驾驶巴士。 本届苏州市劳模工匠人才创新成果展共设20个展位,集中展示了全市“劳模工匠助企行”的…

java面试-SpringAOP

1.SpringAOP的使用 你了解Spring AOP 吗? 通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。 2.SpringAOP的原理 我们可以将ASM生成的类进行缓存,这样能解决生成的类比较低效的问题。 ASM是可以操作字节码的框架。 真实实现类和…

数据库操作语言(DML)

数据库操作语言(DML) 文章目录 数据库操作语言(DML)一、四种操作二、数据的插入(增)三、数据的删除(删)四、数据的修改(改)五、数据的查询(查&…

RK3568驱动指南|第十五篇 I2C-第179章在应用程序中使用I2C

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

WPDRRC信息安全体系架构模型

构建信息安全保障体系框架应包括技术体系、组织机构体系和管理体系等三部分,也就是说:人、管理和技术手段是信息安全架构设计的三大要素,而构成动态的信息与网络安全保障体系框架是实现系统的安全保障。 1.WPDRRC信息安全模型的定义 WPDRRC…

Oracle - 数据库打补丁实践

原文:https://www.cnblogs.com/ddzj01/p/12097467.html 一、概述 本文将介绍如何给oracle数据库打最新补丁,数据库版本为11.2.0.4单实例,操作系统为redhat6.5 二、下载相关升级包 1. 登录MOS,查阅(ID 2118136.2),下载…

电脑录音方法:电脑怎么录音?5招轻松搞定录音!

想要从麦克风或系统音频录制电脑声音吗?这是一项简单的任务。本文将为您介绍5种最佳且最简单的方法,包括使用Windows系统自带的录音工具来录制电脑音频,在线音频录音软件和专业的第三方电脑录音软件。这些工具都能够很好地帮助您完成电脑怎么…

MySQL数据库中文乱码处理

出现中文乱码之后处理方式 1、执行下面语句查看一下关于编码方式 show variables like %char%结果展示:【你应该和我的不一样】 2、如果你的和我查询结果不一致请设置成一致语句,根据自己需要复制语句 如下:【除了最后一条记录哈】 SET G…

llm-universe | 五. 系统评估与优化

系统评估与优化 一.LLM应用评估思路1.人工评估准则一 量化评估准则二 多维评估 2.自动评估方法一. 构造客观题方法二. 计算答案相似度 3.使用大模型评估4.混合评估 二.评估并优化生成部分1. 提升直观回答质量2.标明知识来源,提高可信度3. 构造思维链4.增加一个指令解…

独立开发者系列(10)——fastadmin后台框架的认识

软件开发项目涉及到的东西非常多,作为独立开发者,普遍性的面对的是中小项目。而其中接单的情况下,以WEB方向的居多。其中主要有以下这么些类的:搭建官网cms 就是常见的资讯发布平台,发布一些企业新闻/活动宣传,纯粹是…

Docker部署ETCD 3.5.14(保姆级图文教程)

系列文章目录 Docker部署Nginx 1.21.5(保姆级图文教程) Docker部署MySQL 8.3.0(保姆级图文教程) Docker部署ETCD 3.5.14(保姆级图文教程) 文章目录 一、环境二、拉取镜像2.1 查找 Docker Hub 上的 ETCD 镜像…

【区块链+基础设施】国家健康医疗大数据科创平台 | FISCO BCOS应用案例

在医疗领域,疾病数据合法合规共享是亟待解决的难题。一方面,当一家医院对患者实施治疗后,若患者转到其 他医院就医,该医院就无法判断诊疗手段是否有效。另一方面,医疗数据属于个人敏感数据,一旦被泄露或被恶…

网络配线架的隐藏功能

网络布线是确保现代信息社会高效运转的关键技术之一。在这一领域,网络配线架扮演着至关重要 的角色。它不仅仅是一个简单的物理连接点,更拥有许多隐藏功能,这些功能极大地提升了网络的 效率、稳定性和可管理性。 1、集中管理 网络配线架提…

springboot图书馆座位预约系统-计算机毕业设计源码85670

目 录 摘要 1 绪论 1.1 选题背景与意义 1.2开发现状 1.3论文结构与章节安排 2 开发环境及相关技术介绍 2.1 MySQL数据库 2.2 Tomcat服务器 2.3 Java语言 2.4 SpringBoot框架介绍 3 图书馆座位预约系统系统分析 3.1 可行性分析 3.1.1 技术可行性分析 3.1.2 经济可…

MySQL 代理层:ProxySQL

文章目录 说明安装部署1.1 yum 安装1.2 启停管理1.3 查询版本1.4 Admin 管理接口 入门体验功能介绍3.1 多层次配置系统 读写分离将实例接入到代理服务定义主机组之间的复制关系配置路由规则事务读的配置延迟阈值和请求转发 ProxySQL 核心表mysql_usersmysql_serversmysql_repli…

达梦数据库修改日期时间格式和语言

1、问题 重装了达梦数据库后,通过达梦管理工具查询,表字段timestamp类型变成了中文 对于2023-11-01 01:55:33格式时间插入报错,非法的时间日期类型数据 2、查询配置 通过DM8系统管理员手册查到相关配置 通过命令进行查询显示,语…

《工业微生物》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答 问:《工业微生物》是不是核心期刊? 答:不是,是知网收录的第一批认定学术期刊。 问:《工业微生物》级别? 答:国家级。主管单位:中国轻工业联合会 主办单位&#xff…

多个tomcat同时使用 不设置CATALINA_HOME环境变量

通常一台服务器只使用一个tomcat,设置一个CATALINA_HOME的环境变量。但有些时候需要一台服务器启动多个tomcat,那就不能设置CATALINA_HOME了!因为会串~ 我们可以在对应tomcat的startup.bat启动脚本中,加入对应的CATALINA_HOME。 …

南京林业大学点云相关团队论文

【1】Chen Dong, Wan Lincheng, Hu Fan, Li Jing, Chen Yanming, Shen Yueqian*, Peethambaran Jiju, 2024. Semantic-aware room-level indoor modeling from point clouds, International Journal of Applied Earth Observation and Geoinformation, 2024, 127, 103685. 语义…

Python入门 2024/7/2

目录 格式化的精度控制 字符串格式化 对表达式进行格式化 小练习(股票计算小程序) 数据输入 布尔类型和比较运算符 if语句 小练习(成人判断) if-else语句 if-elif-else语句 练习:猜猜心里数字 嵌套语句 猜…