如果我CoordinatorLayout
的某些Toolbar
行为有Fragment
,我在实施Toolbar
时难以实施Toolbar
。比如,我有5个片段只能在一个Activity中显示(一次一个片段)。其中2个在滚动时会自动隐藏Toolbar
,1个包含简单的Toolbar
,即使在滚动时也始终显示; 2个ImageView
包含AppBarLayout
} AppBarLayout
用于视差效果。
This link仅涵盖自动隐藏部分,但不包括带图像的视差。
我能想到的一些解决方案:
Toolbar
中有一个ImageView
Activity
和ImageView
。因此,如果它显示的片段不需要视差效果,只需将CoordinatorLayout
的可见性设置为GONE即可。但这样做可以吗?因为我觉得这不是一个合适的解决方案。
在每个片段中定义Toolbar
和setSupportActionBar
'布局。但是,每当我显示我的片段时,我都必须拨打public void setToolbar(Toolbar toolbar, String title){
if(toolbar != null) {
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowTitleEnabled(title != null);
if (title != null) setActionBarTitle(title);
}
}
,而其中一些实际上有相同的工具栏。
哪种方法最好?或者也许比那两个更好?
更新 所以,我最终得到了数字2.我只是为每个片段添加工具栏。 xml就像平时一样,没什么特别的。在我的BaseActivity中,我创建了一个方法来将工具栏设置为具有默认配置的操作栏,因此我不必将语法复制到每个片段。这是方法:
{{1}}