OpenHarmony 按钮的交互能力概览 OpenHarmony 的按钮(Button)在 ArkUI 中可覆盖从基础点击到焦点、键盘、鼠标、触摸等多模态交互,并可与状态管理联动实现动态 UI 反馈与动效。以下按交互类型归纳其能力与要点。
基础点击与触摸事件
Button("Click Me").onClick((e) => {
console.info("Button clicked at: " + e.x + ", " + e.y);
})
Button("Hold").onTouch((e) => {
if (e.type === TouchType.Down) { /* 进入按压 */ }
else if (e.type === TouchType.Up) { /* 抬起结束 */ }
})
焦点与键盘交互
Button('FocusBtn')
.focusable(true)
.onFocus(() => { /* 获焦样式 */ })
.onBlur(() => { /* 失焦样式 */ })
Button('KeyBtn').onKeyEvent((e) => {
if (e.type === KeyType.Down) { /* 处理按键按下 */ }
})
动效与反馈
@State count: number = 0;
Button("+1").onClick(() => { this.count++ })
Text(`Count: ${this.count}`)
import curves from '@ohos.curves';
Button('Bounce').onClick(() => {
animateTo({ duration: 300, curve: curves.springMotion() }, () => {
// 状态变更或样式回弹
})
})
与其他组件或页面的联动
@State count: number = 0;
Button("Inc").onClick(() => { this.count++ }) // 触发 @Watch 或联动子组件
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。