六、ArkTS 常用组件-按钮(Button)/切换按钮(Toggle)/文本输出(TextInput)

简介: `Button` 组件是 HarmonyOS 应用开发中的基本组件之一,主要用于响应用户的点击操作。它支持两种使用方式:不包含子组件和包含子组件。不包含子组件时,`Button` 通过 `label` 属性设置按钮上的文字,同时提供 `options` 参数来配置按钮类型和点击效果;包含子组件的方式则允许更灵活的内容展示,如图片或复杂布局,此时无需设置 `label`。此外,`Button` 组件还提供了设置背景颜色、边框圆角等样式的方法,以及绑定点击事件的功能,使开发者能够轻松实现丰富的交互体验。

1. 概述

Button为按钮组件,通常用于响应用户的点击操作。

地址:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V13/ts-basic-components-button-V13

2. 参数

Button组件有两种使用方式,分别是不包含子组件包含子组件,两种方式下,Button 组件所需的参数有所不同,下面分别介绍

  • 不包含子组件

不包含子组件时,Button组件所需的参数如下

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

  • label

label为按钮上显示的文字内容。

  • options.type

options.type为按钮形状,该属性的类型ButtonType,可选的枚举值有

名称 描述
ButtonType.Capsule 胶囊形状
ButtonType.Circle 圆形
ButtonType.Normal 普通形状

Button('Capsule').type(ButtonType.Capsule).width(100)

Button('Circle').type(ButtonType.Circle).width(100)

Button('Normal').type(ButtonType.Normal).width(100)

  • options.stateEffect

     Button('测试')

       .stateEffect(true)

       .type(ButtonType.Capsule)

       .width(100)

options.stateEffect表示是否开启点击(按压态)效果,点击效果如下

  • 包含子组件

子组件会作为按钮上显示的内容,可以是图片、文字等。这种方式下,Button组件就不在需要label参数了,具体如下

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

Button('测试-Normal', { type: ButtonType.Normal, stateEffect: true })

 .stateEffect(true)

 .width(100)

3. 常用属性

3.1. 背景颜色

按钮的颜色可使用backgroundColor()方法进行设置,例如

Button('绿色按钮').backgroundColor(Color.Green)

3.2. 边框圆角

按钮的边框圆角大小可使用borderRadius()方法进行设置,例如

Button('圆角按钮', { type: ButtonType.Normal }).borderRadius(10)

4. 常用事件

对于Button组件而言,最为常用的就是点击事件,可以通过onClick()方法为按钮绑定点击事件,该方法的参数为一个回调函数,当按钮被点击时,就会触发该回调函数,例如

Button('点击事件').onClick(() => {

 console.log('我被点击了')

})

切换按钮

1. 概述

地址:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V13/ts-basic-components-toggle-V13

**Toggle**为切换按钮组件,一般用于两种状态之间的切换,例如下图中的蓝牙开关。

2. 参数

Toggle组件的参数定义如下

Toggle(options: { type: ToggleType, isOn?: boolean })

  • type

type属性用于设置Toggle组件的类型,可通过ToggleType枚举类型进行设置,可选的枚举值如下

名称 描述
ToggleType.Switch 开关
ToggleType.Checkbox 单选框样式
ToggleType.Button 按钮

Toggle({ type: ToggleType.Switch })


Toggle({ type: ToggleType.Checkbox })


Toggle({ type: ToggleType.Button }) {

 Text('Toggle-Button').fontColor(Color.White)

}.backgroundColor(Color.Green).width(120)

  • isOn

isOn属性用于设置Toggle组件的状态,例如

         Column() {

           Toggle({ type: ToggleType.Switch })


           Toggle({ type: ToggleType.Checkbox })


           Toggle({ type: ToggleType.Button }) {

             Text('Toggle-Button').fontColor(Color.White)

           }.backgroundColor(Color.Gray).width(120)

         }


         Column() {

           Toggle({ type: ToggleType.Switch, isOn: true })


           Toggle({ type: ToggleType.Checkbox, isOn: true })


           Toggle({ type: ToggleType.Button, isOn: true }) {

             Text('Toggle-Button').fontColor(Color.White)

           }.backgroundColor(Color.Gray).width(120)

         }

3. 常用属性:

3.1. 选中状态背景色

可使用selectedColor()方法设置Toggle组件在选中(或打开)状态下的背景色,例如

Toggle({ type: ToggleType.Switch, isOn: true })

.selectedColor(Color.Green)


Toggle({ type: ToggleType.Checkbox, isOn: true })

.selectedColor(Color.Green)


Toggle({ type: ToggleType.Button, isOn: true }) {

Text('Toggle-Button').fontColor(Color.White)

}.backgroundColor(Color.Gray)

.selectedColor(Color.Green)

3.2. Swtich滑块颜色

可使用设置switchPointColor()方法设置Switch类型的Toggle组件中的圆形滑块颜色,例如

 Toggle({ type: ToggleType.Switch })

           .switchPointColor(Color.Orange)

           .width(80)

           .height(30)

4. 常用事件

Toggle组件常用的事件为change事件,每当Toggle组件的状态发生变化,就会触发change事件。开发者可通过onChange()方法为Toggle组件绑定change事件,该方法参数为一个回调函数,具体定义如下

onChange(callback: (isOn: boolean) => void)

Toggle组件的状态由关闭切换为打开时,isOntrue,从打开切换为关闭时,isOnfalse

Toggle({ type: ToggleType.Switch }).width(80).height(30)

 .onChange((isOn) => {

   console.info('isOn: ' + isOn)

 })

文本输入

1. 概述

TextInput为文本输入组件,用于接收用户输入的文本内容。

地址:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V13/ts-basic-components-textinput-V13

2. 参数

TextInput组件的参数定义如下

TextInput(value?:{placeholder?: string|Resource , text?: string|Resource})

  • placeholder

placeholder属性用于设置无输入时的提示文本,效果如下

TextInput({ placeholder: '请输入用户名' })

  • text

text用于设置输入框当前的文本内容,效果如下

TextInput({ text: '用户名' })

3. 常用属性

3.1. 输入框类型

可通过type()方法设置输入框的类型,该方法的参数为InputType枚举类型,可选的枚举值有

名称 描述
InputType.Normal 基本输入模式
InputType.Password 密码输入模式
InputType.Number 纯数字输入模式

3.2. 光标样式

可通过caretColor()方法设置光标的颜色,效果如下

TextInput()

     .type(InputType.Normal)

     .caretColor(Color.Red)

3.3. placeholder样式

可通过placeholderFont()placeholderColor()方法设置 placeholder 的样式,其中placeholderFont()用于设置字体,包括字体大小、字体粗细等,placeholderColor()用于设置字体颜色,效果如下

TextInput({ placeholder: '请输入用户名' })

 .type(InputType.Normal)

 .placeholderColor(Color.Orange)

3.4. 文本样式

输入文本的样式可通过fontSize()fontWeight()fontColor()等通用属性方法进行设置。

TextInput({ text: '用户名' })

         .type(InputType.Normal)

         .fontSize(30)

         .fontWeight(FontWeight.Bold)

         .fontColor(Color.Red)

4. 常用事件

4.1. change事件

每当输入的内容发生变化,就会触发 change 事件,开发者可使用onChange()方法为TextInput组件绑定 change 事件,该方法的参数定义如下

onChange(callback: (value: string) => void)

其中value为最新内容。

 TextInput()

         .onChange((value) => {

           console.info('当前输出内容:' + value)

         })

4.2. 焦点事件

焦点事件包括获得焦点失去焦点两个事件,当输入框获得焦点时,会触发 focus 事件,失去焦点时,会触发 blur 事件,开发者可使用onFocus()onBlur()方法为 TextInput 组件绑定相关事件,两个方法的参数定义如下

onFocus(event: () => void)  

onBlur(event: () => void)

TextInput()

 .onChange((value) => {

   console.info('当前输出内容:' + value)

 })

 .onFocus(() => {

   console.info('获得焦点')

 })

 .onBlur(() => {

   console.info('失去焦点')

 })


公众号搜“Harry技术”,关注我,带你看不一样的人间烟火!

目录
相关文章
Arkts http数据请求
Arkts http数据请求
767 0
|
11月前
五、ArkTS 常用组件-文本显示 (Text / Span)
本文档介绍了ArkTS中的文本显示组件(Text/Span),包括其基本概念、参数设置、常用属性(如字体大小、粗细、颜色、对齐方式)、最大行数及超长处理方法,以及子组件Span的使用方法。Text组件支持多种参数类型,包括字符串、资源引用等,并提供了丰富的属性设置选项以满足不同的文本显示需求。Span组件则主要用于在Text组件内部实现更精细的文本格式化,如设置不同的字体颜色、大小、装饰线等,同时支持点击事件的添加。
802 2
|
UED 开发者
鸿蒙next版开发:ArkTS组件通用属性(边框设置)
在HarmonyOS 5.0中,ArkTS提供了丰富的边框设置属性,允许开发者自定义组件的边框样式,提升应用的视觉效果和用户体验。本文详细解读了border属性的使用方法,并提供了示例代码,展示了如何设置不同边的边框宽度、颜色、圆角和样式。边框设置在UI开发中具有重要作用,如区分组件、强调重要元素和美化界面。
1142 6
|
8月前
|
API 开发者 UED
HarmonyOS:ArkTS 多态样式自学指南
本文介绍了 ArkTS 多态样式功能,帮助开发者为组件设置不同状态(如点击、按下、禁用等)下的样式。从 API Version 8 开始支持,API Version 11 引入 `attributeModifier` 动态设置属性。核心接口 `stateStyles` 支持多种状态,如 `normal`、`pressed`、`disabled` 等。文章通过示例代码展示了如何为 `Text` 和 `Radio` 组件设置多态样式,结合状态控制实现动态视觉反馈。掌握此功能可提升用户体验,推荐开发者根据需求灵活运用。
296 27
|
开发者 容器
鸿蒙next版开发:ArkTS组件通用属性(文本通用)
在HarmonyOS 5.0中,ArkTS提供了丰富的文本通用属性,如textAlign、maxLines、textOverflow、fontSize、fontColor、fontStyle、fontWeight、fontFamily、lineHeight、letterSpacing和decoration等,用于实现多样的文本显示和样式效果。本文详细解读了这些属性,并提供了示例代码,帮助开发者更好地利用这些工具,提升应用界面的美观和实用性。
796 8
|
8月前
|
API 开发者
HarmonyOS:ArkTS Path 组件自学指南
在鸿蒙应用开发中,绘制复杂图形常面临传统布局方式难以满足需求的问题。ArkTS 的 Path 组件提供了解决方案,如同一把“神奇画笔”,支持通过灵活的命令和属性绘制直线、曲线、椭圆弧等多样图形。本文详细介绍了 Path 组件从 API Version 7 起的功能特性,包括 `commands`、`fill`、`stroke` 等核心属性,以及各类绘图命令如 `M`(移动)、`L`(直线)、`C`(贝塞尔曲线)等。结合示例代码,展示了如何绘制简单直线到复杂曲线图形,并拓展了颜色、透明度和线条样式的自定义方法。掌握 Path 组件,可为应用带来更丰富生动的视觉体验,助力开发者实现创意绘图需求。
291 21
|
11月前
|
编解码
四、ArkTS 常用组件-图片(Image)
ArkTS 常用组件-图片(Image)简介:Image 组件用于在应用中显示图片,支持本地和网络图片的加载,提供了多种参数类型如 string、Resource 和 media.PixelMap。常用属性包括图片尺寸设置(width()、height())、图片缩放模式(objectFit())及图片插值(interpolation()),确保图片在不同场景下的最佳显示效果。此外,Image 组件还支持图片资源的灵活引用方式,如通过 $r() 函数引用 resources 目录下的图片资源。
970 2
|
开发者
鸿蒙next版开发:ArkTS组件通用属性(图形变换)
在HarmonyOS 5.0中,ArkTS提供了强大的图形变换功能,支持组件的旋转、缩放和平移操作,增强用户界面的视觉效果和交互体验。本文详细解读了ArkTS中图形变换的通用属性,并提供了示例代码,包括基础变换、组合变换和动画效果的应用。通过这些示例,开发者可以轻松实现复杂的视觉效果和动态用户界面。
605 1
|
监控 开发者
鸿蒙5.0版开发:使用HiLog打印日志(ArkTS)
在HarmonyOS 5.0中,HiLog是系统提供的日志系统,支持DEBUG、INFO、WARN、ERROR、FATAL五种日志级别。本文介绍如何在ArkTS中使用HiLog打印日志,并提供示例代码。通过合理使用HiLog,开发者可以更好地调试和监控应用。
834 16
|
UED 开发者 容器
鸿蒙next版开发:ArkTS组件通用属性(位置设置)
在HarmonyOS next中,ArkTS提供了align、direction、position、markAnchor、offset和alignRules等通用属性,用于精确控制组件在用户界面中的位置和布局。本文详细解读了这些属性,并提供了示例代码进行说明。通过这些属性,开发者可以实现精确布局、动态界面调整和提升用户体验。
1531 6