在ActionBar中添加下拉菜单,主要有一下几个关键步骤:
1. 生成一个SpinnerAdapter,设置ActionBar的下拉菜单的菜单项
2. 实现ActionBar.OnNavigationListener接口,当点击ActionBar的菜单项是进行相应的操作
3. 调用setNavigationMode()方法将ActionBar的操作模型设置为ActionBar.NAVIGATION_MODE_LIST. 注意:这个步骤应该在Activity的onCreate()回调函数时执行
4. 调用setListNavigationCallbacks()方法为ActionBar添加适配器和监听器.实现方法:以下是例子代码,这个例子中只是简单测试,ArrayAdapter是SpinnerAdapter的间接子类,这里ActionBar中的菜单项是一个数组的数据,当点击菜单的其中一项,就会生成一个对应的Fragment代替原来的Fragment.Fragment里面也只有简单的一个TextView控件,用来显示选择的信息。自定义fragment:public class MonitorMode extends Fragment {
private String tag;
@Override
public void onAttach(Activity activity){
super.onAttach(activity);
tag = getTag();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
TextView textView = new TextView(getActivity());
textView.setText(tag);
return textView;
}
}在strings.xml中定义一个数组,这个数组就是菜单项的信息: 主要的程序片段,MainActivity: