android - 我可以在抽屉导航的 fragment 中使用 CollapsingToolbarLayout

标签 android fragment android-collapsingtoolbarlayout

我可以在 Navigation Drawer 的 Fragment 中使用 CollapsingToolbarLayout 吗? 我试试 this sample来自安卓 hive 。 我希望“消息”可折叠到 NestedScrollView。在 Activity 中没问题,但它在 Fragment 中。 CollapsingToolbarLayout 无法悬停到原始工具栏。但我想尝试的可能是错误的模式。请告诉我它会怎样。

最佳答案

我正在删除 Fragment 的 onResume 上的实际 Activity 工具栏,并重新启用 Fragment 的 onStop 上的 Activity 工具栏。

请在您的 fragment 中添加此代码:

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    ...
    setHasOptionsMenu(true);
    ...
}

@Override
public void onStop() {
    super.onStop();
    final Toolbar toolbar = (Toolbar) getActivity().findViewById(R.id.app_bar);
    getActivity().findViewById(R.id.app_bar).setVisibility(View.VISIBLE);
    ((AppCompatActivity) getActivity()).setSupportActionBar(toolbar);
    ((AppCompatActivity) getActivity()).getSupportActionBar().setHomeButtonEnabled(true);
    ((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}

@Override
public void onResume() {
    super.onResume();
    getActivity().findViewById(R.id.app_bar).setVisibility(View.GONE);
    final Toolbar toolbar = (Toolbar) rootView.findViewById(R.id.toolbar);
    ((AppCompatActivity) getActivity()).setSupportActionBar(toolbar);
    ((AppCompatActivity) getActivity()).getSupportActionBar().setHomeButtonEnabled(true);
    ((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}

关于android - 我可以在抽屉导航的 fragment 中使用 CollapsingToolbarLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31474401/

相关文章:

Android 在通知 Activity 中单击后退按钮后打开 MainActivity

Android Studio 应用程序图标

java - 如何监听 fragment 上 Activity 中按钮的点击操作?

android - 关于 fragment 生命周期的困惑

Android IntentService 不会在开机时启动

java - 存储 Location 对象的好方法是什么?

android - 转到上一个 fragment 时如何避免关闭 Activity

android - CollapsingToolbarLayout 不显示自定义标题

android - 在 CoordinatorLayout 中使用时,页脚会滚出屏幕

android - 在 Android 5.+ 上的 CollapsingToolbarLayout 中不可点击开关