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

ArkUI---常用组件---按钮 (Button)

Button(链接)
API接口及属性链接
在这里插入图片描述

Button是按钮组件,通常用于响应用户的点击操作,其类型包括胶囊按钮、圆形按钮、普通按钮。Button做为容器使用时可以通过添加子组件实现包含文字、图片等元素的按钮。

1.创建按钮

Button通过调用接口来创建,接口调用有以下两种形式:

(1)创建不包含子组件的按钮。

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

label: 用来设置按钮文字
{
type: 用于设置Button类型
stateEffect: 属性设置Button是否开启点击效果
}
带?表示可选参数!

Button('ok',{type:ButtonType.Normal,stateEffect:true})

在这里插入图片描述
(2)创建包含子组件的按钮。

Button(options?: {type?: ButtonType, stateEffect?: boolean})
只支持包含一个子组件,子组件可以是基础组件或者容器组件。

Button({type:ButtonType.Normal,stateEffect:true}){
        Row(){
          Image($r('app.media.startIcon')).width(20).height(30)
          Text('loading').fontSize(12).margin({left:20})
        }.alignItems(VerticalAlign.Center
        )
      }.borderRadius(8).width(90).height(40)

在这里插入图片描述
在这里插入图片描述

2.设置按钮类型

Button有三种可选类型,分别为胶囊类型(Capsule)、圆形按钮(Circle)和普通按钮(Normal),通过type进行设置。

(1)胶囊按钮(默认类型)

此类型按钮的圆角自动设置为高度的一半,不支持通过borderRadius属性重新设置圆角。

(2)圆形按钮:

此类型按钮为圆形,不支持通过borderRadius属性重新设置圆角。

(3) 普通按钮

此类型的按钮默认圆角为0,支持通过borderRadius属性重新设置圆角。

	  Button('胶囊状按钮(默认类型)',{ type:ButtonType.Capsule, stateEffect:true})

      Button('圆形按钮',{ type:ButtonType.Circle, stateEffect:true}).width(90)

      Button('普通按钮',{ type:ButtonType.Normal, stateEffect:true})

在这里插入图片描述

3.自定义样式

(1)设置边框弧度。

使用通用属性来自定义按钮样式。
例如通过`borderRadius`属性设置按钮的边框弧度。

(1)设置文本样式。

通过添加文本样式设置按钮文本的展示样式。

(1)设置背景颜色。

添加`backgroundColo`r属性设置按钮的背景颜色。

(1)创建功能型按钮。

为删除操作创建一个按钮。

Button('1、设置弧边宽度',{ type:ButtonType.Normal, stateEffect:true})
       .borderRadius(20)

     Button('2、设置文本样式',{ type:ButtonType.Normal, stateEffect:true})
       .fontSize(20)
       .fontColor(Color.Pink)
       .fontWeight(800)
       .fontStyle(FontStyle.Italic)

     Button('3、设置背景颜色',{ type:ButtonType.Normal, stateEffect:true})
       .backgroundColor(Color.Green)

     //4、、创建功能性按钮  为删除操作
     Button({ type:ButtonType.Circle, stateEffect:true}){
       Image($r('app.media.img')).width(30)
     }.width(60).height(60).backgroundColor(Color.Orange)

在这里插入图片描述

3.添加事件

Button组件通常用于触发某些操作,可以绑定onClick事件来响应点击操作后的自定义行为。

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

完整代码:

//自定义组件
import { Type } from '@kit.ArkUI'

@Entry
@Component
struct Login{
  build() {
    Column({space:16}) {
    
      Button('ok',{type:ButtonType.Normal,stateEffect:true})

      Button({type:ButtonType.Normal,stateEffect:true}){
        Row(){
          Image($r('app.media.startIcon')).width(20).height(30)
          Text('loading').fontSize(12).margin({left:20})
        }.alignItems(VerticalAlign.Center
        )
      }.borderRadius(8).width(90).height(40)

      Button('胶囊状按钮(默认类型)',{ type:ButtonType.Capsule, stateEffect:true})

      Button('圆形按钮',{ type:ButtonType.Circle, stateEffect:true}).width(90)

      Button('普通按钮',{ type:ButtonType.Normal, stateEffect:true})

      Button('1、设置弧边宽度',{ type:ButtonType.Normal, stateEffect:true})
        .borderRadius(20)

      Button('2、设置文本样式',{ type:ButtonType.Normal, stateEffect:true})
        .fontSize(20)
        .fontColor(Color.Pink)
        .fontWeight(800)
        .fontStyle(FontStyle.Italic)

      Button('3、设置背景颜色',{ type:ButtonType.Normal, stateEffect:true})
        .backgroundColor(Color.Green)

      //4、、创建功能性按钮  为删除操作
      Button({ type:ButtonType.Circle, stateEffect:true}){
        Image($r('app.media.img')).width(30)
      }.width(60).height(60).backgroundColor(Color.Orange)

    }
  }
}

http://www.kler.cn/a/394104.html

相关文章:

  • JAVA:探索 EasyExcel 的技术指南
  • 前端,location.reload刷新页面
  • Golang | Leetcode Golang题解之第559题N叉树的最大深度
  • Sigrity SPEED2000 Power Ground Noise Simulation模式如何查看PDS系统的自阻抗操作指导
  • matlab建模入门指导
  • AI 扩展开发者思维方式:以 SQL 查询优化为例
  • 机器学习【激活函数】
  • 【LeetCode】【算法】64. 最小路径和
  • 【C++】类和对象-上
  • 【RabbitMQ】09-取消超时订单
  • 深入理解 MVC 与其他主流设计模式:架构精髓与实现方法详解
  • 67页PDF |埃森哲_XX集团信息发展规划IT治理优化方案(限免下载)
  • 【go从零单排】Signals、Exit
  • 原生js预览ofd文件
  • 第九部分 :1.STM32之通信接口《精讲》(USART,I2C,SPI,CAN,USB)
  • <Project-23 Navigator Portal> Python flask web 网站导航应用 可编辑界面:添加图片、URL、描述、位置移动
  • UI设计生成器:2024年在线设计工具
  • HCIP-HarmonyOS Application Developer 习题(二十一)
  • springboot接口返回数据给前端,BigDecimal为null但返回前端显示-1
  • CSS响应式布局实现1920屏幕1rem等于100px
  • selenium测试的一些语法
  • WEB攻防-通用漏洞SQL注入MYSQL跨库ACCESS偏移
  • vue3项目中内嵌vuepress工程两种实现方式
  • 构建现代 Python Web 应用的最佳实践:从 FastAPI 到 Tortoise ORM20241113
  • div加4个角边框 css
  • 从0开始学docker (每日更新 24-11-11)