我一直在寻找WearableDrawerLayout的示例,但似乎不多。我现在特别想支持多个屏幕,一个主屏幕和一个配置屏幕。例子一直很难找到。Wear导航和操作图1是一个很好的视觉效果,但支持代码只让我了解到目前为止。其中一个没有涉及的问题是,是否使用了多个活动,或者在布局上切换setVisibility是否是更好的选择。我假设是后者,但想看看什么是常态。
我也看了行星的例子,但它只是在一个屏幕上改变了图像。页面上导航和操作的代码实验室也被弃用。我本以为这会是一种常见的模式,还会有更多的例子。我想这也令人担忧。我在SO上看到其他人提到缺乏例子。
该文档提供了一个很好的可视化,说明它应该如何工作,但没有代码可以参考不同屏幕的实现方式。
我上次使用WearableDrawerLayout
已经有一段时间了,所以我的方法现在可能有点过时了。这是一个类似的场景;一个主流(具有多个屏幕(和一个设置屏幕。这就是我所做的:
布局文件
- 类型为
WearableDrawerLayout
的根元素 - 两个
FrameLayout
子视图(一个用于主流,一个用于设置屏幕( - 一个(已弃用(
WearableNavigationDrawer
子视图(替换为WearableNavigationDrawerView
(
活动
- 使用上面的布局文件(显然…(
- 将设置片段添加到其专用
FrameLayout
容器中 - 使用其他
FrameLayout
容器处理主流中不同片段之间的导航(如果您的主屏幕是静态的,您可能可以跳过此操作( - 通过简单地切换两个Fragment容器的可见性来处理扩展
WearableNavigationDrawerAdapter
的内部类中的选择事件
我不确定这是否是最好的方法。我不确定是否是的最佳方式。这很可能取决于屏幕的复杂性等。您可以根据建议直接在布局/视图上切换可见性。
我确实知道上面的实现已经在生产中运行了很多年,没有任何问题。