android - 在操作栏中设置 fragment 内的自定义 View

标签 android android-fragments android-pageradapter android-actionbaractivity

我有一个包含一些 fragment 的 Activity。
这个Activity关联了一个view pager,这个view pager使用了FragmentPagerAdapter,所以view pager的每一页都被当作一个fragment。
现在,假设我在任何一个 fragment 中自定义了操作栏 View ,并且该自定义 View 也可以在其他 fragment 中看到。

getActivity().getSupportActionBar().setCustomView(R.layout.custom_view_home);
        getActivity().getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);   

这是因为,我们正在使用 Activity 上下文自定义 View 。
我的问题:
Q. 我们不能在 fragment 中设置操作栏的自定义 View 吗?因此,它不会反射(reflect)到其他 fragment 。

最佳答案

简答:Yes .

您应该只允许当前可见的 fragment 将自定义 View 添加到 ActionBar。当然,无论上下文如何,您都可以直接从 Fragment 执行此操作。

请求使选项菜单失效将用新 View 移除当前自定义 View ,即使整个 ActionBar 失效。您可以从上面的链接中使用类似的方法。

关于android - 在操作栏中设置 fragment 内的自定义 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26217662/

相关文章:

android - 在 Google map 中,当应用程序从最小化状态最大化时,为什么不再调用 OnLocationChanged()?

android - 在 ViewPager 中对不同 fragment 使用相同布局时,将布局值相互混合

android - FragmentStatePagerAdapter 重置第一个 fragment 的内容

android - 如何从 ViewPager 获取 fragment 引用

android - 如何在 Oreo 中打开内部存储中的 PDF 文件?

android - 我的应用程序停留在 "draft"模式(Play 商店)

php - Apple Sign In "invalid_client",使用 PHP 和 openSSL 签署 JWT 进行身份验证

安卓 fragment 化

android - 如何解决 Kotlin 上的 PagerAdapter 问题 : "Required method instantiateItem was not overridden"?

php - 在 Android 平板电脑 webview 中嵌入 Youtube 视频