我对将 CollapsingToolbarLayout 标题与 SearchView 文本重叠没有什么问题。CollapsingToolbarLayout 什么时候展开,没有问题:
但是当被折叠时,文本是重叠的:
如何解决?
我对将 CollapsingToolbarLayout 标题与 SearchView 文本重叠没有什么问题。CollapsingToolbarLayout 什么时候展开,没有问题:
但是当被折叠时,文本是重叠的:
如何解决?
答案现在很简单,点击搜索按钮时展开 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]);
更多信息在这个线程中。
我尝试了 Tomas 的答案,但它有一个问题,即一旦用户滚动,appbar 就会再次崩溃并且问题再次出现。
所以我想出了另一种解决方案,即在搜索视图展开时使折叠的标题文本透明。这很好用,不依赖或更改应用栏的折叠/展开状态。
简单地说:
if (searchViewExpanding) {
collapsingToolbarLayout.setCollapsedTitleTextColor(Color.TRANSPARENT);
} else {
collapsingToolbarLayout.setCollapsedTitleTextColor(Color.WHITE);
}
当然,您需要处理setOnActionExpandListener
您的搜索菜单项才能知道何时调用它。
编辑
仍然没有解决它,他们已经解决了另一个真正的问题。随着文字的改变。现在的诀窍是使用 ControllableAppLayout 来了解栏何时折叠或展开,因此您只需设置并清空标题setTitle("")
你可以在这里找到我的实现https://gist.github.com/skimarxall/863585dcd7abde8f4153
问题: https ://code.google.com/p/android/issues/detail?id=178138