【转】 Pro 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小例子中下载。

相关链接: 我的Android开发相关文章

时间: 2024-09-30 04:15:14

【转】 Pro Android学习笔记(五二):ActionBar(5):list模式的相关文章

【转】 Pro Android学习笔记(二二):用户界面和控制(10):自定义Adapter

目录(?)[-] 设计Adapter的布局 代码部分 Activity的代码 MyAdapter的代码数据源和构造函数 MyAdapter的代码实现自定义的adapter MyAdapter的代码继续探讨BaseAdapter 我们可以同继承抽象类BaseAdapter来实现自己的Adapter,自己设置子View的UI,不同子View可以由不同的布局,并自己进行数据和子view中数据的对应关系.图是例子的呈现结果,我们有很多图标,对这些图标按一定大小进行缩放,然后布局在GridView中.这个

【转】Pro Android学习笔记(二五):用户界面和控制(13):LinearLayout和TableLayout

目录(?)[-] 布局Layout 线性布局LinearLayout 表格布局TableLayout 布局Layout Layout是容器,用于对所包含的view进行布局.layout是view的子类,所以可以作为view嵌入到其他的layout中.Android的layout有LinearLayout.TableLayout,RelativeLayout.FrameLayout.GridLayout. 线性布局:LinearLayout 这是最常用的,有anroid:orientation来确

Pro Android学习笔记(二九):用户界面和控制(17):include和merge

xml控件代码重用:include 如果我们定义一个控件,需要在不同的layout中重复使用,或者在同一个layout中重复使用,可以采用include的方式.例如定义my_button.xml如下 <?xml version="1.0" encoding="utf-8"?> <Button xmlns:android="http://schemas.android.com/apk/res/android"     androi

【转】 Pro Android学习笔记(二九):用户界面和控制(17):include和merge

目录(?)[-] xml控件代码重用include xml控件代码重用merge 横屏和竖屏landsacpe portrait xml控件代码重用:include 如果我们定义一个控件,需要在不同的layout中重复使用,或者在同一个layout中重复使用,可以采用include的方式.例如定义my_button.xml如下 <?xml version="1.0" encoding="utf-8"?> <Button xmlns:android=

【转】 Pro Android学习笔记(二一):用户界面和控制(9):Gallery和SimpleAdapter

Gallery画廊式控件,如图所示,但是在API level 16,也即Android 4.1,被deprecated,可以使用HorizontableScroolView和ViewPager.但是后来者都不是AdapterView,所有我们仍快速地略过Gallery,也顺带学习一下SimpleAdapter. XML layout文件如下: <?xml version="1.0" encoding="utf-8"?> <Gallery xmlns

Pro Android学习笔记(二四):用户界面和控制(12):Style和Theme

静态格式 在res/values中设置静态的Style,在资源中设置静态Style可使用的HTML格式有<i> <u> <b> <sup> <sub> <strike> <big> <small> <monospace>. <string name="ui_styleText_1"><i>Static</i> style <u>in

【转】Pro Android学习笔记(二六):用户界面和控制(14):RelativeLayout

相对布局:RelativeLayout RelativeLayout也是非常常用的布局,能够精确对控件的位置进行网格对齐,可以设置在控件与其他控件的相对位置,以及控件在容器中的位置.缺省控件的位置为最上面还最左边.下面结合一个例子来进行解说. <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/ap

【转】Pro Android学习笔记(二四):用户界面和控制(12):Style和Theme

目录(?)[-] 静态格式 代码中设定 Style Theme 静态格式 在res/values中设置静态的Style,在资源中设置静态Style可使用的HTML格式有<i> <u> <b> <sup> <sub> <strike> <big> <small> <monospace>. <string name="ui_styleText_1"><i>St

【转】 Pro Android学习笔记(五一):ActionBar(4):标准和Tab模式

之前,我们学习的Action Bar是标准模式,Tab模式的如下图所示. 对于Tab,我们在Android学习笔记(二二): 多页显示-Tag的使用中学习过,但Action Bar的tab更适合fragment的使用.我们在之前实现的标准Action Bar的基础上添加导航用的tab,代码如下: public class TabbedActionBarDemo extends SearchTestCase3 implements ActionBar.TabListener{    @Overri