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

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 StudioWear OSAmbientModeSupport微光模式

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

前言:

正如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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值