从片段返回时,折叠工具栏布局始终展开

时间:2016-12-14 13:07:18

标签: android-fragments android-recyclerview android-appbarlayout android-collapsingtoolbarlayout

我有2个片段(片段A和片段B),它们都有折叠的工具栏布局和协调器布局中的相应回收视图。

如果我在recyclerview中向上滚动(因此CollapsingToolbarLayout已折叠),然后从片段A打开片段B(将A推到后台堆栈上)。

当我回击片段A时。即使回收者视图处于相同位置,也始终展开CollapsingToolbarLayout / AppBarLayout。

有人经历过这个吗?

4 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,所以我写下代码: -

private boolean isExpand = true;
private void setTitleNotExpand(boolean isExpand) {
    if(getFragmentViewHolder() != null) {
        this.isExpand = isExpand;
        // AppBarLayout variable
        getFragmentViewHolder().appbar.setExpanded(isExpand);
    }
}

当你添加后退堆栈然后写下面的代码: -

// write below code where you want to stick your toolbar
setTitleNotExpand(false);


// write below code where you want not to stick your toolbar
setTitleNotExpand(true);

onFragmentViewHolderCreated上面写下代码: -

getFragmentViewHolder().appbar.setExpanded(isExpand);

答案 1 :(得分:1)

存在与此相关的问题。 根据{{​​3}}

将这些行添加到片段的 onViewCreated()中以解决该问题。

ViewCompat.requestApplyInsets(mCoordinatorLayout);

答案 2 :(得分:1)

这是一个古老的问题,但没有一个答案是正确的。我在他们解决问题的地方发现了另一个问题:

How to restore Collapsing Toolbar Layout State after screen orientation change

您必须为视图设置ID,以自动恢复其状态。

答案 3 :(得分:0)

另一件需要考虑的事情是,如果视图没有 id,则视图无法恢复其状态