ActionBar下拉选项卡

ActionBar下拉选项卡

一、ActionBar简介

ActionBar(活动栏)替代了显示在屏幕顶端的标题栏,主要负责显示菜单,widget,导航等功能。

ActionBar主要由四个部分组成:

AppIcon(应用标识、向主界面导航)、ViewControl(视图切换,或者显示一些描述信息)、ActionButtons(显示应用程序中最重要的动作、长按图标会提示该动作的描述)、ActionOverflow(相对不太常用的动作)


 不过我们要学习的是第二种下拉式的actionbar,使用Spinners:为同一中数据类型集合的页面提供导航。

     

二、Actionbar的使用步骤:

 在ActionBar中添加下拉菜单,主要有一下几个关键步骤:

  1. 生成一个SpinnerAdapter,设置ActionBar的下拉菜单的菜单项

  2. 实现ActionBar.OnNavigationListener接口,当点击ActionBar的菜单项是进行相应的操作

  3. 调用setNavigationMode()方法将ActionBar的操作模型设置为ActionBar.NAVIGATION_MODE_LIST. 注意:这个步骤应该在Activity的onCreate()回调函数时执行

  4. 调用setListNavigationCallbacks()方法为ActionBar添加适配器和监听器.


三、代码实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
public  class  MainActivity  extends  Activity {
 
     public  void  onCreate(Bundle savedInstanceState) {
         super .onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
 
         SpinnerAdapter adapter = ArrayAdapter.createFromResource( this ,
                 R.array.Date, android.R.layout.simple_spinner_dropdown_item);
         // 得到Actionbar
         ActionBar actionbar = getActionBar();
         // 隐藏actionbar
         // actionbar.hide();
         // 设置setNavigationMode()方法将actionbar以列表形式显示出来
         //  调用setNavigationMode()方法将ActionBar的操作模型设置为ActionBar.NAVIGATION_MODE_LIST
         actionbar.setNavigationMode(actionbar.NAVIGATION_MODE_LIST);
         // 调用setListNavigationCallbacks()方法为ActionBar添加适配器和监听器.
         actionbar.setListNavigationCallbacks(adapter,  new  DropDownListenser());
 
     }
 
     class  DropDownListenser  implements  OnNavigationListener {
         String[] listNames = getResources().getStringArray(R.array.Date);
 
         public  boolean  onNavigationItemSelected( int  itemPosition,  long  itemId) {
             switch  (itemPosition) {
             case  0 :
                 Toast.makeText(getApplicationContext(),  "2013-2014学年第一学期" ,
                         Toast.LENGTH_SHORT).show();
                 break ;
             case  1 :
                 Toast.makeText(getApplicationContext(),  "2013-2014学年第二学期" ,
                         Toast.LENGTH_SHORT).show();
                 break ;
             case  2 :
                 Toast.makeText(getApplicationContext(),  "2013-2014学年" ,
                         Toast.LENGTH_SHORT).show();
                 break ;
             case  3 :
                 Toast.makeText(getApplicationContext(),  "2014-2015学年第一学期" ,
                         Toast.LENGTH_SHORT).show();
                 break ;
             case  4 :
                 Toast.makeText(getApplicationContext(),  "2014-2015学年第二学期" ,
                         Toast.LENGTH_SHORT).show();
                 break ;
             case  5 :
                 Toast.makeText(getApplicationContext(),  "2014-2015学年" ,
                         Toast.LENGTH_SHORT).show();
                 break ;
             default :
                 break ;
             }
             return  true ;
         }
 
     }
}

在String文件中加入如下代码

1
2
3
4
5
6
7
8
< string-array  name = "Date" >
     < item >2013-2014学年第一学期</ item >
     < item >2013-2014学年第二学期</ item >
     < item >2013-2014学年</ item >
     < item >2014-2015学年第一学期</ item >
     < item >2014-2015学年第二学期</ item >
     < item >2014-2015学年</ item >
</ string-array >

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值