Android: CollapsingToolbarLayout 和 SearchView,文本重叠
Android: CollapsingToolbarLayout and SearchView, text overlapping
我对 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]);
更多信息在 .
编辑
还是没有解决,又解决了一个现实的问题。通过更改文本。现在的诀窍是使用 ControllableAppLayout 知道栏何时折叠或展开,然后您只需设置并清空标题 setTitle("")
你可以在这里找到我的实现 https://gist.github.com/skimarxall/863585dcd7abde8f4153
问题:
https://code.google.com/p/android/issues/detail?id=178138
我尝试了 Tomas 的答案,但它有一个问题,一旦用户滚动,appbar 就会再次折叠,问题 re-appears。
所以我想到了另一个解决方案,即在展开搜索视图时使折叠的标题文本透明。这很好用,不依赖于或更改应用栏的 collapse/expand 状态。
就是这样:
if (searchViewExpanding) {
collapsingToolbarLayout.setCollapsedTitleTextColor(Color.TRANSPARENT);
} else {
collapsingToolbarLayout.setCollapsedTitleTextColor(Color.WHITE);
}
当然,您需要处理 setOnActionExpandListener
搜索菜单项才能知道何时调用它。
我对 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]);
更多信息在
编辑
还是没有解决,又解决了一个现实的问题。通过更改文本。现在的诀窍是使用 ControllableAppLayout 知道栏何时折叠或展开,然后您只需设置并清空标题 setTitle("")
你可以在这里找到我的实现 https://gist.github.com/skimarxall/863585dcd7abde8f4153
问题: https://code.google.com/p/android/issues/detail?id=178138
我尝试了 Tomas 的答案,但它有一个问题,一旦用户滚动,appbar 就会再次折叠,问题 re-appears。
所以我想到了另一个解决方案,即在展开搜索视图时使折叠的标题文本透明。这很好用,不依赖于或更改应用栏的 collapse/expand 状态。
就是这样:
if (searchViewExpanding) {
collapsingToolbarLayout.setCollapsedTitleTextColor(Color.TRANSPARENT);
} else {
collapsingToolbarLayout.setCollapsedTitleTextColor(Color.WHITE);
}
当然,您需要处理 setOnActionExpandListener
搜索菜单项才能知道何时调用它。