5

我对将 CollapsingToolbarLayout 标题与 SearchView 文本重叠没有什么问题。CollapsingToolbarLayout 什么时候展开,没有问题:

在此处输入图像描述

但是当被折叠时,文本是重叠的:

在此处输入图像描述

如何解决?

4

3 回答 3

1

答案现在很简单,点击搜索按钮时展开 CollapsingToolbarLayout。感谢Tuấn Trần Anh和这段代码:

coordinatorLayout = (CoordinatorLayout) findViewById(R.id.coordinator_layout);
appBarLayout = (AppBarLayout) findViewById(R.id.appbar);
CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) appBarLayout.getLayoutParams();
AppBarLayout.Behavior behavior = (AppBarLayout.Behavior) params.getBehavior();

behavior.setTopAndBottomOffset(0);
behavior.onNestedPreScroll(coordinatorLayout, appBarLayout, null, 0, 1, new int[2]);

更多信息在这个线程中。

于 2015-06-11T08:08:29.300 回答
1

我尝试了 Tomas 的答案,但它有一个问题,即一旦用户滚动,appbar 就会再次崩溃并且问题再次出现。

所以我想出了另一种解决方案,即在搜索视图展开时使折叠的标题文本透明。这很好用,不依赖或更改应用栏的折叠/展开状态。

简单地说:

    if (searchViewExpanding) {
        collapsingToolbarLayout.setCollapsedTitleTextColor(Color.TRANSPARENT);
    } else {
        collapsingToolbarLayout.setCollapsedTitleTextColor(Color.WHITE);
    }

当然,您需要处理setOnActionExpandListener您的搜索菜单项才能知道何时调用它。

于 2015-08-19T13:01:30.137 回答
-1

编辑

仍然没有解决它,他们已经解决了另一个真正的问题。随着文字的改变。现在的诀窍是使用 ControllableAppLayout 来了解栏何时折叠或展开,因此您只需设置并清空标题setTitle("")

你可以在这里找到我的实现https://gist.github.com/skimarxall/863585dcd7abde8f4153

问题: https ://code.google.com/p/android/issues/detail?id=178138

于 2015-07-18T11:59:10.013 回答