我有一个包含一些 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/