You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WearOS模拟器中配置并测试旋转表框(bezel)功能

无需实体手表测试WearOS旋转表框功能的方案

  • 使用官方WearOS 3+模拟器自带的旋转输入模拟功能
    创建AVD时选择API 30及以上的Wear OS 3.0+系统镜像,启动模拟器后点击右侧控制栏的更多选项(三点图标),找到「旋转输入」面板,拖动滑块或者滚动鼠标滚轮即可模拟旋转表框操作,系统会自动生成旋转编码器对应的输入事件,无需额外寻找第三方模拟器皮肤。
  • 临时添加调试触发逻辑
    可在代码中新增侧边音量键监听逻辑,用音量加减模拟表框的正反旋转,测试核心切换逻辑是否正常,测试完成后移除调试代码即可。

现有代码的修复建议

你提供的代码未触发自定义切换函数,大概率是未给目标View申请焦点导致:旋转编码器事件只会分发到当前持有焦点的View,需要提前添加如下配置:

view.isFocusable = true
view.isFocusableInTouchMode = true
view.requestFocus()

同时你用到的InputDeviceCompat、MotionEventCompat相关API已经废弃,可直接调用系统原生方法简化代码:

view.setOnGenericMotionListener { v, ev ->
    if (ev.action == MotionEvent.ACTION_SCROLL &&
            ev.isFromSource(InputDevice.SOURCE_ROTARY_ENCODER)
    ) {
        
        val delta = -ev.getAxisValue(MotionEvent.AXIS_SCROLL) *
                ViewConfiguration.get(this).scaledVerticalScrollFactor

        if (Math.abs(delta) > 2f) {
            val np = if (delta > 0) Util.nextAccount(mAccount) else Util.prevAccount(mAccount)
            Util.d(TAG, mAccount + np.toString())
            switchAccount(np)

        }
        true
    } else {
        false
    }
}

内容的提问来源于stack exchange,提问作者Oleg Gryb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 02:18:03