在 Android支持设计库发布后,我希望实现类似 Twitter个人资料页面的效果,其中var temp=[];
angular.forEach(values, function(data, index){
var tempObj={};
tempObj.location=index;
tempObj.services=data;
temp.push(tempObj);
});
return temp;
的{{1}当屏幕垂直滚动时,可以更改{}和Toolbar
。因此,我尝试使用 Android支持设计库中的title
,subtitle
,CoordinatorLayout
和AppBarLayout
来实现此效果。一切都按预期工作,但CollapsingToolbarLayout
的内容无法按照我的意愿显示或更改。我应该一直希望显示Toolbar
的{{1}},Toolbar
,collapseIcon
,navigationIcon
,但即使我设置了它们,它们也没有显示出来在布局和编程。就像blog所说的那样,
请注意,在这些情况下,您应该调用setTitle() CollapsingToolbarLayout,而不是工具栏本身。
如果您选中doc,则会发现title
仅关注subtitle
的设置,但对Toolbar
,CollapsingToolbarLayout
无效和title
。
有人可以告诉我如何通过collapseIcon
和navigationIcon
实现这种效果吗?如果他们无法做到,那么还有什么其他的东西呢?有人对此有什么想法吗?
任何提示将不胜感激。提前谢谢。
答案 0 :(得分:2)
此问题已报告here为错误。我个人经历过我的一个应用程序。设置工具栏的topMargin
对我有用。正如有人对错误报告发表评论,这是修复,作为问题报告中的函数。
private void fixApi21ToolBarBug(Toolbar toolbar){
if(Build.VERSION.SDK_INT!=21) return; //only on api 21
final int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");
final int result = (resourceId > 0) ? getResources().getDimensionPixelSize(resourceId) * 2 : 0;
final CollapsingToolbarLayout.LayoutParams params = (CollapsingToolbarLayout.LayoutParams) toolbar.getLayoutParams();
params.topMargin -= result;
toolbar.setLayoutParams(params);
}
在此处查看结果。
答案 1 :(得分:1)
陷入同样的问题。对我来说,通过从布局参数中删除android:fitsSystemWindows="true"
来解决此问题。但是,这意味着状态栏不会成为折叠工具栏背景的一部分。