本文目录 点击直达
Wear OS手表应用开发系列教程 点击直达
Wear OS手表应用开发教程之-创建应用
Wear OS手表应用开发教程之-创建环形滚动列表-WearableRecyclerView
Wear OS手表应用开发教程之-禁止全屏滑动返回Activity
Wear OS手表应用开发教程之-侧滑隐藏-SwipeDismissFrameLayout
Wear OS手表应用开发教程之-Activity使用微光模式-AmbientModeSupport
Wear OS手表应用开发教程之-顶部导航-WearableNavigationDrawerView
Wear OS手表应用开发教程之-底部导航-WearableActionDrawerView
Wear OS手表应用开发教程之-自定义导航栏布局-WearableDrawerView(动态控制)
Wear OS手表应用开发教程之-监听手表按键以及获取按键信息-WearableButtons
Wear OS手表应用开发教程之-手势导航-上下甩动手表事件
Wear OS手表应用开发教程之-按钮事件-旋转按钮使用和回调
本文标签
Android Studio | Wear OS | 旋转滑动 | OnGenericMotionListener |
---|
路过的年轻人啊,你是要用左手点个赞呢,还是要右手点个关注呢
前言:
正如Android一样,Wear OS也是谷歌创建的智能操作系统,属于Android的一个分支。假设你有过Android
Application开发经验,那给Wear OS 做应用适配将是一件非常简单的事情
WearOS默认支持旋转滑动的View:
Wear OS 凭借厂商加持的各类传感器,支持多种手势和按钮操控,这里我们要介绍的是旋转按钮旋转输入事件的使用和回调
在WearOS中有一部分是默认就支持旋转滑动的【ScrollView
、ListView
、HorizontalScrollView
、WearableRecyclerView
】,但是有些特殊情况下你会发现旋转按钮他们不会动,这是因为没有获取到焦点,我们只需要在onCreate
或onResume
最后给需要使用旋转输入的View申请一次焦点requestFocus
即可
给特殊的或不支持旋转滑动的View自定义旋转滑动输入:
给
View
添加setOnGenericMotionListener
事件,并且使用RotaryEncoder
来辅助滑动,最后还是需要手动调用一次焦点requestFocus
,运行后你就会惊喜的发现View可以跟着手表滚轮旋转滑动了,如果不希望是往下滑动的话,只需要修改setOnGenericMotionListener
中的算法即可
myView.setOnGenericMotionListener(View.OnGenericMotionListener { v, ev ->
if (ev.action == MotionEvent.ACTION_SCROLL && RotaryEncoder.isFromRotaryEncoder(ev)) {
// Don't forget the negation here
val delta = -RotaryEncoder.getRotaryAxisValue(ev) *
RotaryEncoder.getScaledScrollFactor(context)
// Swap these axes if you want to do horizontal scrolling instead
v.scrollBy(0, Math.round(delta))
return@OnGenericMotionListener true
}
false
})
结语:
手表开发和Android开发相似度非常之高,所以强烈推荐Android开发者尝试一下这个新领域,虽然WearOS推出至今已有六个年头,但是国内厂商近两年才开始适配并开始生产,未来发展空间可期。
最后我还有一句话要说:
世上没有什么东西能拿我们怎么样,可是我们自己要是老想恢复失去的东西,老想着过去,就会毁了我们自己。
玛格丽特·米切尔《飘》