6

Android Support Design Library发布后,我想实现一个类似Twitter Profile页面的效果,其中Toolbartitlesubtitle可以随着屏幕垂直滚动而改变。所以我尝试使用CoordinatorLayout, AppBarLayout, CollapsingToolbarLayoutand Toolbarfrom Android Support Design Library来实现这个效果。一切都按预期工作,只是Toolbar无法显示或更改我想要的内容。我应该一直想要显示collapseIcon, navigationIcon, title, subtitleof Toolbar,但即使我已经在布局中以编程方式设置了它们,它们也没有显示出来。正如博客所说,

请注意,在这些情况下,您应该在 CollapsingToolbarLayout 上调用 setTitle(),而不是在 Toolbar 本身上调用。

如果您检查过文档,您会发现CollapsingToolbarLayout只关注 的设置,而对和title无能为力。collapseIconnavigationIconsubtitle

那么有人可以告诉我如何通过Toolbarand达到这种效果CollapsingToolbarLayout吗?如果他们做不到,那还有什么可能呢?有人对此有任何想法吗?

任何提示将不胜感激。提前致谢。

4

2 回答 2

2

此问题在此处报告为错误。我亲身体验过我的一个应用程序。为工具栏设置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);
}

在这里查看结果。

在此处输入图像描述

于 2015-07-19T06:07:59.353 回答
1

遇到同样的问题。对我来说,它是通过从布局参数中删除android:fitsSystemWindows="true"来修复的。但是,这意味着状态栏不会成为折叠工具栏背景的一部分。

于 2015-07-09T12:31:48.870 回答