本文目录

  • 本文标签
  • `路过的年轻人啊,你是要用左手点个赞呢,还是要右手点个关注呢`
  • 前言:
  • 获取按键信息:
  • 获取按键数量
  • 获取按键信息
  • 获取按键ICON
  • 获取按键标签
  • 使用按键的点击事件
  • 结语:
  • 最后我还有一句话要说:
  • 人的全部实质就是由饥饿,寒冷,委屈,损失等感觉以及哈姆莱特式的怕死感觉构成的。全部生活不外在乎这些感觉。人也许觉得生活苦恼,也许会痛恨这种生活,可是绝不会蔑视它。

本文标签

Android Studio

Wear OS

WearableButtons

按键信息

路过的年轻人啊,你是要用左手点个赞呢,还是要右手点个关注呢

前言:

正如Android一样,Wear OS也是谷歌创建的智能操作系统,属于Android的一个分支。假设你有过Android
Application开发经验,那给Wear OS 做应用适配将是一件非常简单的事情

WearOS手表上通常会有几个实体按键和一个滚轮按钮,我们可以通过WearableButtons来获取按键的所有信息,通过activityonKeyDown(keyCode: Int, event: KeyEvent?)回调获取按键的点击事件

获取按键信息:

WearOS有一个开放的API:WearableButtons,借助这个API,我们可以获取手表所有的按键信息和操作

获取按键数量

val count = WearableButtons.getButtonCount(this)
Log.i("手表按钮", "按钮数量${count}")

获取按键信息

WearOS最多支持让厂商定义三个按键,分别对应KeyEvent.KEYCODE_STEM_1 KeyEvent.KEYCODE_STEM_2 KeyEvent.KEYCODE_STEM_3

val buttonInfo = WearableButtons.getButtonInfo(this, KeyEvent.KEYCODE_STEM_1)
    Log.i("手表按钮", "按钮1 -- ${buttonInfo}")
    val buttonInfo2 = WearableButtons.getButtonInfo(this, KeyEvent.KEYCODE_STEM_2)
    Log.i("手表按钮", "按钮2 -- ${buttonInfo2}")
    val buttonInfo3 = WearableButtons.getButtonInfo(this, KeyEvent.KEYCODE_STEM_3)
    Log.i("手表按钮", "按钮3 -- ${buttonInfo3}")

到这里我们的自定义导航栏基本完成,如果需要高级的动态操控,请参考以下代码

获取按键ICON

val buttonDrawable = WearableButtons.getButtonIcon(this,KeyEvent.KEYCODE_STEM_1)

获取按键标签

val buttonLabel = WearableButtons.getButtonLabel(this,KeyEvent.KEYCODE_STEM_1)

使用按键的点击事件

Activity中加入以下代码可以监听所有按键的点击事件

override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
        return when (keyCode) {
            KeyEvent.KEYCODE_STEM_1 -> {
                Log.i("手表按钮", "按下了按钮1")
                true
            }
            KeyEvent.KEYCODE_STEM_2 -> {
                Log.i("手表按钮", "按下了按钮2")
                true
            }
            KeyEvent.KEYCODE_STEM_3 -> {
                Log.i("手表按钮", "按下了按钮3")
                true
            }
            else -> super.onKeyDown(keyCode, event)
        }
    }

结语:

手表开发和Android开发相似度非常之高,所以强烈推荐Android开发者尝试一下这个新领域,虽然WearOS推出至今已有六个年头,但是国内厂商近两年才开始适配并开始生产,未来发展空间可期。

最后我还有一句话要说:

人的全部实质就是由饥饿,寒冷,委屈,损失等感觉以及哈姆莱特式的怕死感觉构成的。全部生活不外在乎这些感觉。人也许觉得生活苦恼,也许会痛恨这种生活,可是绝不会蔑视它。

契诃夫《契诃夫短篇小说选》