鸿蒙基于ArkUI动画/交互事件开发常见问题(ArkTS)

焦点事件onBlur/onFocus回调无法触发(API 9)

问题现象

焦点事件onBlur/onFocus回调无法触发

解决措施

焦点事件默认情况下需要外接键盘的Tab键,或方向键触发,点击触发焦点事件需要添加焦点控制属性focusOnTouch。

scroll里面套一个grid,如何禁用grid的滑动事件(API 9)

可以通过onScrollFrameBegin事件和scrollBy方法实现容器嵌套滚动。

如何实现一个组件不停地旋转(API 9)

可以通过属性动画的方式实现。

列表目前无法键盘上下滑动,是否能力不支持(API 9)

解决措施

有以下两种方案:

  1. 需要在列表子项中添加focusable(true)进行获焦。

  2. 在每个item的外层嵌套一个可获焦组件,例如Button。

键盘移动焦点对象按下enter,为什么不会触发点击事件(API 9)

组件的内置的点击事件和开发者自定义的onClick点击事件默认会和空格键绑定,并非与enter键绑定(UX规格)。

多层组件嵌套button,如何阻止事件传递(API 9)

可以通过将button组件绑定参数stopPropagation来控制冒泡传递。

使用router或Navigator实现页面跳转时,如何关闭页面间转场动效(API 9)

  1. 参考页面间转场示例在当前页面和目标页面中定义pageTransition方法。

  2. 将页面入场组件PageTransitionEnter和页面退场组件PageTransitionExit的动效参数duration都设置为0。

在容器组件嵌套的场景下,如何解决手势拖拽事件出现错乱的问题(API 9)

PanGesture用于触发拖动手势事件,滑动的最小距离distance默认为5vp时拖动手势识别成功。可以将distance值设为1,使拖动更灵敏,避免造成事件错乱。

是否支持使用fontFamily属性设置不同的字体(API 9)

默认字体’HarmonyOS Sans’,且当前只支持这种字体。

点击输入框时会拉起软键盘,点击button时软键盘关闭要如何实现(API 9)

TextInput获取焦点会弹出输入法,失去焦点就会关闭软键盘,使用focusControl控制焦点即可关闭软键盘。

代码示例

build() {
  Column() {
    TextInput()
    Button(`hide`)
      .key('button')
      .onClick(()=>{
        focusControl.requestFocus('button')
      })
  }
}

当父组件绑定了onTouch,其子组件Button绑定了onClick,如何做到点击Button只响应Button的onClick,而不用响应父组件的onTouch(API 9)

可以在Button组件中绑定onTouch,并在onTouch中使用stopPropagation()阻止onTouch冒泡传递到父组件阻止冒泡传递。

代码示例

build() {
  Row() {
    Button("点击我")
      .width(100)
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值