我有以下问题:
main_activity:
<android.support.design.widget.CoordinatorLayout
.......>
<android.support.design.widget.AppBarLayout
......>
<android.support.v7.widget.Toolbar
app:layout_scrollFlags="scroll|enterAlways"
....../>
</android.support.design.widget.AppBarLayout>
<FrameLayout
app:layout_behavior="@string/appbar_scrolling_view_behavior"
....../>
</android.support.design.widget.CoordinatorLayout>
当FrameLayout包含带有recyclerview的片段时,向上滑动recyclelerview会向上滚动工具栏。
以下情况是问题所在:
此代码执行片段更改:
fragment = .. get new fragment ..
fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.frame, fragment);
fragmentTransaction.commit();
添加此代码无济于事:
getSupportActionBar().show();
我也尝试过:
toolbar.translationY(0).start();
但没有成功。
如何以编程方式使滚动(不可见)工具栏再次向下滚动?
答案 0 :(得分:3)
我最后打电话给
appBarLayout.setExpanded(true, true)
在中创建每个片段期间
onCreateView
每个片段继承自的抽象类的方法:
public abstract class AbstractFragmentBase extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// other code
customAppBar.setExpanded(true, true);
// other code
}
}