本文目录
- 本文标签
- `路过的年轻人啊,你是要用左手点个赞呢,还是要右手点个关注呢`
- 前言:
- 获取按键信息:
- 获取按键数量
- 获取按键信息
- 获取按键ICON
- 获取按键标签
- 使用按键的点击事件
- 结语:
- 最后我还有一句话要说:
- 人的全部实质就是由饥饿,寒冷,委屈,损失等感觉以及哈姆莱特式的怕死感觉构成的。全部生活不外在乎这些感觉。人也许觉得生活苦恼,也许会痛恨这种生活,可是绝不会蔑视它。
本文标签
Android Studio | Wear OS | WearableButtons | 按键信息 |
路过的年轻人啊,你是要用左手点个赞呢,还是要右手点个关注呢
前言:
正如Android一样,Wear OS也是谷歌创建的智能操作系统,属于Android的一个分支。假设你有过Android
Application开发经验,那给Wear OS 做应用适配将是一件非常简单的事情WearOS手表上通常会有几个实体按键和一个滚轮按钮,我们可以通过
WearableButtons
来获取按键的所有信息,通过activity
的onKeyDown(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推出至今已有六个年头,但是国内厂商近两年才开始适配并开始生产,未来发展空间可期。
最后我还有一句话要说:
人的全部实质就是由饥饿,寒冷,委屈,损失等感觉以及哈姆莱特式的怕死感觉构成的。全部生活不外在乎这些感觉。人也许觉得生活苦恼,也许会痛恨这种生活,可是绝不会蔑视它。
契诃夫《契诃夫短篇小说选》