要实现Android复杂折叠工具栏过渡,可以使用CollapsingToolbarLayout和AppBarLayout组合来完成。下面是一个示例代码:
首先,在布局文件中添加CollapsingToolbarLayout和AppBarLayout:
然后,在Activity中设置CollapsingToolbarLayout的标题和监听AppBarLayout的状态:
CollapsingToolbarLayout collapsingToolbar = findViewById(R.id.collapsing_toolbar);
collapsingToolbar.setTitle("Title");
AppBarLayout appBarLayout = findViewById(R.id.app_bar_layout);
appBarLayout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() {
boolean isShow = true;
int scrollRange = -1;
@Override
public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
if (scrollRange == -1) {
scrollRange = appBarLayout.getTotalScrollRange();
}
if (scrollRange + verticalOffset == 0) {
collapsingToolbar.setTitle("Collapsed Title");
isShow = true;
} else if (isShow) {
collapsingToolbar.setTitle(" ");
isShow = false;
}
}
});
通过以上代码,当向上滚动时,工具栏会折叠并显示"Collapsed Title",当向下滚动时,工具栏会展开并显示"Title"。你可以根据实际需求修改这些标题和布局。