Wear OS手表应用开发教程之-Activity使用微光模式-AmbientModeSupport

本文目录 点击直达

  • Wear OS手表应用开发系列教程 点击直达
  • 本文标签
  • 前言:
  • 使用方法
  • 结语
    • 最后我还有一句话要说
      • 人生下来不是为了拖着锁链,而是为了展开双翼。

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

你可能感兴趣的:(Wear,OS,Activity)