本文目录 点击直达
- Wear OS手表应用开发系列教程 点击直达
- 本文标签
- `路过的年轻人啊,你是要用左手点个赞呢,还是要右手点个关注呢`
- 前言:
- 效果展示:
- 使用方法:
- 结语:
- 最后我还有一句话要说:
- 世界上最遥远的距离,不是生与死的距离,不是天各一方,而是,我就站在你的面前,你却不知道我爱你。
Wear OS手表应用开发系列教程 点击直达
Wear OS手表应用开发教程之-创建应用Wear OS手表应用开发教程之-创建环形滚动列表-WearableRecyclerViewWear OS手表应用开发教程之-禁止全屏滑动返回ActivityWear OS手表应用开发教程之-侧滑隐藏-SwipeDismissFrameLayoutWear OS手表应用开发教程之-Activity使用微光模式-AmbientModeSupportWear OS手表应用开发教程之-顶部导航-WearableNavigationDrawerViewWear OS手表应用开发教程之-底部导航-WearableActionDrawerViewWear OS手表应用开发教程之-自定义导航栏布局-WearableDrawerView(动态控制)Wear OS手表应用开发教程之-监听手表按键以及获取按键信息-WearableButtonsWear OS手表应用开发教程之-手势导航-上下甩动手表事件Wear OS手表应用开发教程之-按钮事件-旋转按钮使用和回调
本文标签
Android Studio | Wear OS | WearableRecyclerView | 环形滚动列表 |
路过的年轻人啊,你是要用左手点个赞呢,还是要右手点个关注呢
前言:
正如Android一样,Wear OS也是谷歌创建的智能操作系统,属于Android的一个分支。假设你有过Android
Application开发经验,那给Wear OS 做应用适配将是一件非常简单的事情现在我们要做的是在我们的手表应用上添加List的显示。因为开源的性质,手表厂商开发出来的屏幕除了方形以外,还有圆形,缺角圆形等。。。这时候我们普通的垂直线性列表展示就会出现问题了,比如圆形表盘的四周会有一部分Item界面缺失的情况,Google已经考虑到这种情况,当我们使用RecyclerView展示列表时可以选择使用
WearableRecyclerView
来替代传统的列表,当方形表盘时显示线性列表,当圆形表盘时显示曲线列表,显示效果如下图
,您可根据实际业务需求选择是否采取WearableRecyclerView
效果展示:
使用方法:
布局界面添加:
<androidx.wear.widget.WearableRecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical" />
应用到Activity:
class MainActivity : WearableActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Enables Always-on
setAmbientEnabled()
//创建伪数据
val list = mutableListOf<String>()
for (index in 0..20) {
list.add("Demo__${index}")
}
//如果想要自适应手表表盘请使用WearableLinearLayoutManager,如果不需要适配表盘可以使用LinearLayoutManager
recycler_view.layoutManager = WearableLinearLayoutManager(this@MainActivity)
//第一个列表项和最后一个列表项在屏幕上垂直居中对齐
recycler_view.isEdgeItemsCenteringEnabled = true
//是否可以使用圆形滚动手势
recycler_view.isCircularScrollingGestureEnabled = true
//靠近屏幕边缘的虚拟“屏幕边框”(在此区域内能够识别出手势)的宽度
recycler_view.bezelFraction = 0.5f
//用户的手指必须旋转多少度才能滚过一个屏幕高度
recycler_view.scrollDegreesPerScreen = 90f
//设置List适配器
recycler_view.adapter = DemoAdapter(list)
}
}
DemoAdapter代码:
class DemoAdapter: RecyclerView.Adapter<DemoAdapter.ViewHolder> {
var list:MutableList<String>? = null
constructor(list: MutableList<String>?) : super() {
this.list = list
}
class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val textView:TextView = itemView.findViewById(R.id.textView)
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
return ViewHolder(View.inflate(parent.context,R.layout.item_demo,null))
}
override fun getItemCount(): Int {
return list!!.size
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.textView.text = list!![position]
}
}
结语:
手表开发和Android开发相似度非常之高,所以强烈推荐Android开发者尝试一下这个新领域,虽然WearOS推出至今已有六个年头,但是国内厂商近两年才开始适配并开始生产,未来发展空间可期。
最后我还有一句话要说:
世界上最遥远的距离,不是生与死的距离,不是天各一方,而是,我就站在你的面前,你却不知道我爱你。
张小娴《荷包里的单人床》