wear-os - 如何向 WearOS 模拟器添加边框

标签 wear-os samsung-galaxy samsung-galaxy-gear

三星开始在其最新的智能 watch 中使用 Wea​​rOS,例如在 Galaxy 4 watch 中,我需要测试边框功能,因为后者确实具有该功能。不过我在 AVD 中没有发现任何支持边框的 WearOS 设备。

我还尝试创建新的硬件配置文件,但也没有找到边框选项。他们拥有的所有导航选项如下。它们都与边框无关。

enter image description here

我也尝试过为 Galaxy 4 寻找皮肤,但到目前为止还没有成功。根据 Galaxy4 用户的说法,以下代码不起作用。您当然可以建议如何修复代码,但我仍然想知道如何在不购买 watch 的情况下测试它

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

            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
        }
    }

nextAccount 和 prevAccount 是一些切换 View 的自定义函数。它们都不是根据用户调用的。

这是一个 Tizen Studio 模拟器,其边框可以通过拖动白点来旋转:

enter image description here

最佳答案

我终于解决了这个问题。在应该处理旋转事件的 View 布局中,我添加了 requestFocus 标签:

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true"
    android:scrollbars="vertical"
    android:fadeScrollbars="false"
    android:id="@+id/token_scroll"
    >
    <requestFocus />
    ...

为了测试边框,我使用了模拟器右侧的菜单,如下图所示。至少在模拟器中可以正确处理边框事件。当收到用户的反馈后,我会告诉您它是否适用于真正的 Galaxy 4 智能 watch 。

更新 一位 Galaxy 4 智能 watch 用户刚刚确认修复后边框可以正常工作。它证实修复和测试方法都是正确的并达到了目的。

enter image description here

关于wear-os - 如何向 WearOS 模拟器添加边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69020020/

相关文章:

android - 如何在android模拟器和Gear模拟器之间建立连接

android - 如何以编程方式检查 Samsung Gear 2 是否与 Android 设备配对?

Android 可穿戴模拟器无法连接 usb 连接的手机

android - 检索穿戴设备的名称

wear-os - 无法通过蓝牙连接 Android Wear 设备

android - 如何向 Android Wear 模拟器发送通知

Android 应用不支持 Google Play 设备目录中的热门设备

android - 代号 一个以较低分辨率运行的应用程序 (Android)