Wear OS手表应用开发系列教程 点击直达
Wear OS手表应用开发教程之-创建应用
Wear OS手表应用开发教程之-创建环形滚动列表-WearableRecyclerView
Wear OS手表应用开发教程之-禁止全屏滑动返回Activity
Wear OS手表应用开发教程之-侧滑隐藏-SwipeDismissFrameLayout
Wear OS手表应用开发教程之-Activity使用微光模式-AmbientModeSupport
Wear OS手表应用开发教程之-顶部导航-WearableNavigationDrawerView
Wear OS手表应用开发教程之-底部导航-WearableActionDrawerView
本文标签
Android Studio | Wear OS | AmbientModeSupport| 微光模式
前言:
正如Android一样,Wear OS也是谷歌创建的智能操作系统,属于Android的一个分支。假设你有过Android
Application开发经验,那给Wear OS 做应用适配将是一件非常简单的事情
本文介绍的是手表的微光模式,处于微光模式下手表将持续亮起并展示我们的app。
微光模式下的应用刷新率会降低,将会更省电,并且更简洁。
值得注意的是微光模式实际上是Wear OS
系统对AmbientCallback
的回调,而我们普通的WearableActivity
已经实现了了这个回调
本文只介绍如何使用WearableActivity
内置的微光回调,如果某个憨憨非要自行通过手写activity实现微光模式请查看文末的官方使用教程。
使用方法
首先需要在AndroidManifest.xml添加权限:
<uses-permission android:name="android.permission.WAKE_LOCK" />
在Activity处理微光模式所有的回调:
class MainActivity : WearableActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// 设置微光模式开启
setAmbientEnabled()
}
/**
* 以下四个重写函数都是微光模式的回调
* **/
//当activity进入微光模式时被调用,尽量将页面背景设置为全黑色,一些不必要显示的图片等控件可以隐藏
override fun onEnterAmbient(ambientDetails: Bundle?) {
super.onEnterAmbient(ambientDetails)
llRoot.setBackgroundColor(Color.BLACK)
ivImage.visibility = View.GONE
}
//当微光模式需要更新时被调用(别人说更新周期为一分钟一次)
override fun onUpdateAmbient() {
super.onUpdateAmbient()
tvTime.setText("2020-01-01")
}
//当activity退出微光模式时被调用(这个时候可以把背景和隐藏掉了的图片重新显示出来)
override fun onExitAmbient() {
super.onExitAmbient()
llRoot.setBackgroundColor(Color.WHITE)
ivImage.visibility = View.VISIBLE
}
//微光模式无效时会被调用
override fun onInvalidateAmbientOffload() {
super.onInvalidateAmbientOffload()
llRoot.setBackgroundColor(Color.BLACK)
ivImage.visibility = View.GONE
}
}
结语
手表开发和Android开发相似度非常之高,所以强烈推荐Android开发者尝试一下这个新领域,虽然WearOS推出至今已有六个年头,但是国内厂商近两年才开始适配并开始生产,未来发展空间可期。
最后我还有一句话要说
人生下来不是为了拖着锁链,而是为了展开双翼。
维克多·雨果
本文参考自官方使用文档。
https://developer.android.google.cn/reference/androidx/wear/ambient/AmbientModeSupport