现在都流行FragmentTabHost布局.但是所有的fragment都是共享一个actionbar,但是我们又想给每个fragment定义自定义的标题栏.百度google了好久也没有找到解决方案.最后想到了一个笨办法.解决方法如下.如果你们有更好的方案,请留言.
第一个fragment中我定义了自定义布局的actionbar
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { initActionBar(); layoutView = inflater.inflate(R.layout.fragment1, null); return layoutView; } private void initActionBar() { ActionBar actionBar=getActivity().getActionBar(); actionBar.setTitle("第一个页面"); //查找布局文件 并且为按钮添加点击事件 View view=View.inflate(mActivity, R.layout.action_title, null); actionBar.setDisplayShowCustomEnabled(true);//可设置自定义布局 actionBar.setCustomView(view); }
第二个fragment把自定义布局设置为空,或者你也可以重新设置一个自定义布局的actionbar,这样就可以实现每个fragment都有不同的actionbar.
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { initActionBar(); layoutView = inflater.inflate(R.layout.fragment2, null); return layoutView; } private void initActionBar() { ActionBar actionBar=getActivity().getActionBar(); actionBar.setTitle("第二个页面"); actionBar.setCustomView(null); }