Wear OS手表应用开发教程之-顶部导航-WearableNavigationDrawerView
本文目录 点击直达
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 | WearableNavigationDrawerView | 顶部导航 |
---|
路过的年轻人啊,你是要用左手点个赞呢,还是要右手点个关注呢
前言:
正如Android一样,Wear OS也是谷歌创建的智能操作系统,属于Android的一个分支。假设你有过Android
Application开发经验,那给Wear OS 做应用适配将是一件非常简单的事情
这次咱们来学习如何在手表上使用顶部导航栏
WearableNavigationDrawerView
,官方中文命名 “多页抽屉式导航栏
”,可以使用这个控件控制一些不需要实时显示在主界面上的操作按钮等。先看效果图 ~
效果展示:
单页导航-singlePage
多页导航-multiPage
使用方法:
修改布局XML文件,
请确认需求是需要单页还是多页,单页 app:navigationStyle 的值请选择 singlePage ,多页请选择 multiPage
,具体效果图请看上文的效果展示
<?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">
<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" />
<!--添加以下代码。navigationStyle可选值:singlePage(单页模式)/multiPage(多页模式)-->
<androidx.wear.widget.drawer.WearableNavigationDrawerView
android:id="@+id/wearableNavigationDrawerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:navigationStyle="multiPage">
</androidx.wear.widget.drawer.WearableNavigationDrawerView>
</androidx.wear.widget.drawer.WearableDrawerLayout>
新建
Item
的适配器Adapter
,需要继承WearableNavigationDrawerView.WearableNavigationDrawerAdapter
/**继承WearableNavigationDrawerView.WearableNavigationDrawerAdapter**/
class Adapter : WearableNavigationDrawerView.WearableNavigationDrawerAdapter {
var list:MutableList<Data>
constructor(list: MutableList<Data>) : super() {
this.list = list
}
/**Item显示的文字**/
override fun getItemText(pos: Int): CharSequence {
return list[pos].text
}
/**Item显示的图片**/
override fun getItemDrawable(pos: Int): Drawable {
return list[pos].drawable
}
/**Item数量**/
override fun getCount(): Int {
return list.size
}
data class Data(val text:String,val drawable: Drawable)
}
在
Activity
处理导航栏Item
:
class MainActivity : WearableActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// 设置微光模式开启
setAmbientEnabled()
/**以下是WearableNavigationDrawerView使用代码**/
//添加导航Item数据
val drawerList = arrayListOf<Adapter.Data>()
drawerList.add(Adapter.Data("第一个",ContextCompat.getDrawable(this,R.drawable.ic_done_black_24dp)!!))
drawerList.add(Adapter.Data("第二个",ContextCompat.getDrawable(this,R.drawable.ic_close_black_24dp)!!))
val navigationDrawerAdapter = Adapter(drawerList)
//设置适配器
wearableNavigationDrawerView.setAdapter(navigationDrawerAdapter)
}
}
结语:
手表开发和Android开发相似度非常之高,所以强烈推荐Android开发者尝试一下这个新领域,虽然WearOS推出至今已有六个年头,但是国内厂商近两年才开始适配并开始生产,未来发展空间可期。
最后我还有一句话要说:
等到风景都看透,也许你会陪我看细水长流
本文地址:https://blog.csdn.net/WitheredSkull/article/details/107941087