从AppBarLayout过渡到CollapsingToolbarLayout

时间:2018-12-10 15:18:59

标签: android android-appbarlayout android-navigation

我有一个包含2个屏幕的Android应用程序: 一个显示项目列表,另一个显示列表中所选项目的详细信息。这两个屏幕都是由Fragment托管的Activity实施的。

要求

  1. 在项目列表片段的顶部,我想使用AppBarLayout在滚动列表时隐藏/显示Toolbar
  2. 在项目详细信息片段中,我想在CollapsingToolbarLayout中显示图像。此图像与列表中单击的项目有关。
  3. 列表屏幕和详细信息屏幕之间应该存在共享元素转换。

List screen Item detail screen

问题

在列表中选择一个项目时,应该如何组织布局,以便从AppBarLayout过渡到CollapsingToolbarLayout

我尝试过的

在详细信息屏幕上使用“活动”而不是“片段”。

这是最简单的方法:列表活动中的不可折叠工具栏和明细活动中的可折叠工具栏。 但是,我需要在两个屏幕上都具有相同的BottomSheet和DrawerLayout,并且我正尝试转向“单一活动”方法。

在主机“活动”中放置一个通用工具栏

使用这种方法,两个片段之间共享相同的Toolbar。用ActionBar将其设置为默认setSupportActionBar(Toolbar)也是很简单的,因此具有选项菜单,框架处理的向上导航箭头和抽屉式汉堡包图标。 不利之处在于,我看不到要从活动列表中的ImageView到列表ImageView中的CollapsingToolbarLayout进行共享元素转换的方法。

放置在每个片段的工具栏上

使每个Fragment都有自己的工具栏可解决两者之间转换的问题。但是通过这种方法,我应该如何以及何时将每个工具栏设置为活动的ActionBar

请注意,我也欢迎使用Android体系结构组件ViewModel,导航等的任何解决方案)

预先感谢您的回答。

0 个答案:

没有答案