CoordinatorLayout具有不同的工具栏行为

时间:2015-09-29 02:32:14

标签: toolbar android-coordinatorlayout

如果我CoordinatorLayout的某些Toolbar行为有Fragment,我在实施Toolbar时难以实施Toolbar。比如,我有5个片段只能在一个Activity中显示(一次一个片段)。其中2个在滚动时会自动隐藏Toolbar,1个包含简单的Toolbar,即使在滚动时也始终显示; 2个ImageView包含AppBarLayout } AppBarLayout用于视差效果。

This link仅涵盖自动隐藏部分,但不包括带图像的视差。

我能想到的一些解决方案:

  1. Toolbar中有一个ImageView ActivityImageView。因此,如果它显示的片段不需要视差效果,只需将CoordinatorLayout的可见性设置为GONE即可。但这样做可以吗?因为我觉得这不是一个合适的解决方案。

  2. 在每个片段中定义ToolbarsetSupportActionBar'布局。但是,每当我显示我的片段时,我都必须拨打public void setToolbar(Toolbar toolbar, String title){ if(toolbar != null) { setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowTitleEnabled(title != null); if (title != null) setActionBarTitle(title); } } ,而其中一些实际上有相同的工具栏。

  3. 哪种方法最好?或者也许比那两个更好?

    更新 所以,我最终得到了数字2.我只是为每个片段添加工具栏。 xml就像平时一样,没什么特别的。在我的BaseActivity中,我创建了一个方法来将工具栏设置为具有默认配置的操作栏,因此我不必将语法复制到每个片段。这是方法:

    {{1}}

0 个答案:

没有答案