欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Wear OS手表应用开发教程之-底部导航-WearableActionDrawerView(动态控制)

程序员文章站 2022-04-14 11:29:13
本文目录 点击直达Wear OS手表应用开发系列教程 点击直达本文标签前言:效果展示使用方法结语最后我还有一句话要说等到风景都看透,也许你会陪我看细水长流 Wear OS手表应用开发系列教程 点击直达Wear OS手表应用开发教程之-创建应用Wear OS手表应用开发教程之-创建环形滚动列表-WearableRecyclerViewWear OS手表应用开发教程之-禁止全屏滑动返回ActivityWear OS手表应用开发教程之-侧滑隐藏-SwipeDismissFrameLayoutWea...

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(动态控制)

本文标签

Android Studio Wear OS WearableActionDrawerView 底部导航

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

前言:

正如Android一样,Wear OS也是谷歌创建的智能操作系统,属于Android的一个分支。假设你有过Android
Application开发经验,那给Wear OS 做应用适配将是一件非常简单的事情

上一次我们介绍了顶部导航(不太了解的话可以查看我的其他文章),这一次我给把底部导航都凑齐了。讲道理,手表导航这一块做的比手机好很多,按往期文章流程,我们先看效果图

效果展示:

底部导航
Wear OS手表应用开发教程之-底部导航-WearableActionDrawerView(动态控制)

使用方法:

修改布局XML文件,如果说需要在ListViewRecyclerView向下滑动显示底部导航的话,需要在RecyclerView加入android:nestedScrollingEnabled="true"

<?xml version="1.0" encoding="utf-8"?>
<!--*布局必须是这个-->
<androidx.wear.widget.drawer.WearableDrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/dark_grey"
    android:padding="@dimen/box_inset_layout_padding"
    tools:context=".MainActivity"
    tools:deviceIds="wear">
	<!--如果说需要在ListView或RecyclerView滑动到底部自动显示的话需要在`RecyclerView`加入android:nestedScrollingEnabled="true"-->
    <androidx.wear.widget.WearableRecyclerView
        android:id="@+id/recycler_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:scrollbars="vertical" />
        
    <androidx.wear.widget.drawer.WearableActionDrawerView
        android:id="@+id/wearableActionDrawerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:actionMenu="@menu/action"
        />

</androidx.wear.widget.drawer.WearableDrawerLayout>

在res文件夹下创建menu文件夹,新建action.xml文件,在里面填写需要展示底部导航的Item,第一个item的图标将会在表盘底部显示

<?xml version="1.0" encoding="utf-8"?>
<!--在这里的所有Item相当于界面上的Item-->
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/menu_1"
        android:icon="@drawable/ic_done_black_24dp"
        android:title="测试"
        />
    <item
        android:id="@+id/menu_2"
        android:icon="@drawable/ic_close_black_24dp"
        android:title="测试2" />
</menu>

到这里我们的导航栏基本完成,如果需要高级的动态操控,请参考以下代码

class MainActivity : WearableActivity(), CircularProgressLayout.OnTimerFinishedListener {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        // Enables Always-on
        setAmbientEnabled()

		/**以下是WearableActionDrawerView动态操控的代码**/
        //设置底部导航拉起后的标题
        wearableActionDrawerView.setTitle("测试")
        //稍微漏出抽屉(即显示第一个item的图标)
        wearableActionDrawerView.controller.peekDrawer()
        //打开抽屉
        wearableActionDrawerView.controller.openDrawer()
        //关闭抽屉
        wearableActionDrawerView.controller.closeDrawer()
        //设置抽屉菜单的点击事件
        wearableActionDrawerView.setOnMenuItemClickListener {
            Toast.makeText(this@MainActivity,"点击了${it.title}",Toast.LENGTH_SHORT).show()
            true
        }
    }

结语:

手表开发和Android开发相似度非常之高,所以强烈推荐Android开发者尝试一下这个新领域,虽然WearOS推出至今已有六个年头,但是国内厂商近两年才开始适配并开始生产,未来发展空间可期。

最后我还有一句话要说:

你,一会看我,一会看云。我觉得,你看我时很远,你看云时很近

顾城《远和近》

本文地址:https://blog.csdn.net/WitheredSkull/article/details/107958870