Android学习笔记:ActionBar(5):list模式

可以在action bar中加入spinner的下来菜单,有关spinner,可以参考Pro Android学习笔记(二十):用户界面和控制(8):GridView和Spinner。 list的样式和theme有关,如果theme设置不正确,还可能会出现异常。

技术分享

相关的代码如下:

public class ListActionBarDemo extends SearchTestCase3 implements OnNavigationListener//List触发的回调函数接口
    @Override 
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState); 
        workWithListActionBar(); 
    } 

    protected void workWithListActionBar(){ 
        ActionBar bar = getActionBar(); 
        bar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);  //必须设置为list mode,因此tab和list模式不共存 
        //下面和设置spinner的adapter没有区别
        ArrayAdapter<String> myAdapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item, 
                new String[]{"One","Two"}); 
        myAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        //加载adpter,设置回调函数。第一个函数是SpinnerAdatper接口,ArrayAdapter已经实现SpinnerAdatper的getView()函数,可以直接使用
        bar.setListNavigationCallbacks(myAdapter, this); 
    } 

    @Override //list触发的回调函数,所为范例,只简单地log。
   public boolean onNavigationItemSelected(int itemPosition, long itemId)
 { 
        Log.d("ListMode","List select position " +  itemPosition + " itemId " + itemId);
        return false; 
    } 
    
}

本博文涉及的例子代码,可以在Pro Android学习:ActionBar小例子中下载。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。