跳转至

ui_repeat_button

ui_repeat_button 模块提供重复按钮组件,支持长按时持续触发点击事件。

Class Summary

OHOS::UIRepeatButton

重复按钮控件,长按状态下持续触发点击事件

  • 构造:无
  • 成员函数

    接口名称 功能简述
    GetViewType 获取控件类型
    SetInterval 设置连续点击事件的时间间隔
    GetInterval 获取连续点击事件的时间间隔
    OnClickEvent 处理点击事件
    OnReleaseEvent 处理释放事件
    OnLongPressEvent 处理长按事件
    HandleTickEvent 处理长按状态下的周期性触发事件
  • 使用包含头文件#include "components/ui_repeat_button.h"

  • 声明头文件middleware/services/gui/uikit/ui/interfaces/kits/components/ui_repeat_button.h
  • 公有运算符:无
  • 继承关系:UIButton
  • 嵌套类型:无
  • 模板形参:无

Functions

OHOS::UIRepeatButton

GetViewType

UIViewType GetViewType() const override

功能说明

  • 核心用途:获取当前控件的类型标识
  • 返回类型为 UIViewType 枚举中的 UI_REPEAT_BUTTON,用于区分该控件与其他 UI 控件类型
  • 该函数为 const 成员函数,不修改对象状态

返回值

  • 返回类型:UIViewType

返回控件的类型标识

返回值 触发场景
UI_REPEAT_BUTTON 当前控件为重复按钮类型

SetInterval

virtual void SetInterval(uint16_t interval)

功能说明

  • 核心用途:设置长按状态下连续两次点击事件之间的时间间隔
  • 设计目的:控制重复触发频率,间隔值越小触发越频繁
  • 使用场景:需要在长按时以指定频率持续触发点击事件的业务场景

入参

名称 参数类型 详细说明 约束取值范围
interval uint16_t 连续两次点击事件之间的时间间隔,单位为 tick 0 ~ 65535

GetInterval

virtual uint16_t GetInterval() const

功能说明

  • 核心用途:获取当前设置的连续两次点击事件之间的时间间隔
  • 该函数为 const 成员函数,不修改对象状态
  • 返回值与 SetInterval 设置的值一致

返回值

  • 返回类型:uint16_t

返回连续点击事件的时间间隔

返回值 触发场景
uint16_t 值 返回当前设置的间隔值,单位为 tick

OnClickEvent

virtual bool OnClickEvent(const ClickEvent& event) override

功能说明

  • 核心用途:处理点击事件,在按钮被点击时触发
  • 设计目的:重写基类的点击事件处理,实现重复按钮的点击行为
  • 使用场景:按钮被点击时由事件分发机制调用,记录点击事件信息

入参

名称 参数类型 详细说明 约束取值范围
event const ClickEvent& 入参只读引用,点击事件对象,包含点击位置等事件信息 有效的 ClickEvent 对象

返回值

  • 返回类型:bool

返回事件是否被消费

返回值 触发场景
true(1) 点击事件已被消费
false(0) 点击事件未被消费

OnReleaseEvent

virtual bool OnReleaseEvent(const ReleaseEvent& event) override

功能说明

  • 核心用途:处理释放事件,在按钮被释放时触发
  • 设计目的:重写基类的释放事件处理,停止重复触发并清理状态
  • 使用场景:按钮被释放时由事件分发机制调用

入参

名称 参数类型 详细说明 约束取值范围
event const ReleaseEvent& 入参只读引用,释放事件对象,包含释放位置等事件信息 有效的 ReleaseEvent 对象

返回值

  • 返回类型:bool

返回事件是否被消费

返回值 触发场景
true(1) 释放事件已被消费
false(0) 释放事件未被消费

OnLongPressEvent

virtual bool OnLongPressEvent(const LongPressEvent& event) override

功能说明

  • 核心用途:处理长按事件,在按钮被长按时触发
  • 设计目的:重写基类的长按事件处理,启动重复触发定时器
  • 使用场景:按钮被长按时由事件分发机制调用,进入持续触发模式

入参

名称 参数类型 详细说明 约束取值范围
event const LongPressEvent& 入参只读引用,长按事件对象,包含长按位置等事件信息 有效的 LongPressEvent 对象

返回值

  • 返回类型:bool

返回事件是否被消费

返回值 触发场景
true(1) 长按事件已被消费
false(0) 长按事件未被消费

HandleTickEvent

void HandleTickEvent()

功能说明

  • 核心用途:处理长按状态下的周期性触发事件
  • 设计目的:在长按持续期间按 SetInterval 设定的间隔周期性触发点击事件
  • 使用场景:由定时器在长按状态下周期性调用,实现重复点击效果