将所有的Activity修改成fragment(分屏)显示,原有的ActionBar怎么修改?
将所有的Activity修改成fragment(分屏)显示,原有的ActionBar怎么修改?
有一个项目,页面较我之前都是用activity来做的,现在需要在平板上显示用fragment分屏,但是原来的每个Activity及对应的fragment上都用到了ActionBar,现在将Activity修改成fragment,ActionBar显示的菜单如何只在Fragment上显示,而不在Activity上显示?
有一个想法就是写一个自己的ActionBarImpl 继承ActionBar,这样只用修改一下getActionBar()的来源,原来的ActionBar相关的都不用修改,但具体这个ActionBarImpl 应该怎么实现呢?
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
contentView = inflater.inflate(R.layout.fragment_main, container, false);
setHasOptionsMenu(true); //保证能在Fragment里面调用onCreateOptionsMenu()方法
initView();
initData();
return contentView;
}
然后就可以在Fragment里面重写onCreateOptionsMenu()方法,将自己想要展示的东西放到menu文件夹中:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
menu.clear();
inflater.inflate(R.menu.main_menu_item, menu);
}