问题描述
我一直在寻找WearableDrawerLayout上的示例,但似乎并不多。我现在特别想支持多个屏幕,一个主屏幕和一个配置屏幕。很难找到例子。 Wear navigation and actions图1是一个很棒的视觉效果,但是辅助代码仅使我了解到这一点。没有涉及的事情之一是使用多个活动还是在布局上切换setVisibility是更好的选择。我假设是后者,但想看看是什么规范。
我也查看了planets example,但它只是在单个屏幕上更改了图像。页面上的code lab for navigations and actions也已弃用。我本以为这将是一种常见的模式,并且会有更多的例子。我想这也很重要。我看到有人提到lack of examples。
This documentation很好地展示了它应该如何工作,但是没有代码可以引用如何实现不同的屏幕。
解决方法
自从我上次使用WearableDrawerLayout
以来已经有一段时间了,所以现在我的方法可能有点过时了。这是在类似的情况下。主流程(具有多个屏幕)和设置屏幕。这就是我所做的:
布局文件
- 类型为
WearableDrawerLayout
的根元素 - 两个
FrameLayout
子视图(一个用于主流,一个用于设置屏幕) - 一个(已弃用)
WearableNavigationDrawer
子视图(替换为WearableNavigationDrawerView
)
活动
- 使用上面的布局文件(显然...)
- 将设置片段添加到其专用的
FrameLayout
容器中 - 使用其他
FrameLayout
容器处理主流中不同片段之间的导航(如果主屏幕是静态的,则可以跳过此操作) - 通过简单地切换两个Fragment容器的可见性来处理扩展了
WearableNavigationDrawerAdapter
的内部类中的选择事件
我不确定这是否是最好的方法。我不确定 是最好的方法。这很可能取决于屏幕等的复杂性。您可以按照您的建议直接在布局/视图上切换可见性来做到这一点。
我做知道上面的实现已经投入生产多年了,没有任何问题。