【问题标题】:Can I use CollapsingToolbarLayout in a Fragment from Navigation Drawer我可以在导航抽屉的片段中使用 CollapsingToolbarLayout
【发布时间】:2015-07-17 11:06:02
【问题描述】:

我可以在导航抽屉的片段中使用 CollapsingToolbarLayout。 我尝试来自 AndroidHive 的this sample。 我希望“消息”可折叠到 NestedScrollView。在活动中可以,但它在片段中。 CollapsingToolbarLayout 无法悬停到原始工具栏。但我想尝试的可能是错误的模式。请告诉我会怎样。

【问题讨论】:

    标签: android fragment android-collapsingtoolbarlayout


    【解决方案1】:

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

    请在您的片段上添加此代码:

    @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);
    }
    

    【讨论】:

    • @HtooAungHlaing 添加 setHasOptionsMenu(true);到你的 onCreateView()
    • 这不适用于 Activity 中的 navigationView 和片段中的 coordinatorlayout
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-16
    • 2016-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多