码迷,mamicode.com
首页 > 其他好文 > 详细

ActionBar下拉选项卡

时间:2014-12-30 15:22:55      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:android   tabhost   actionbar   radiobutton   linux   

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>

ActionBar下拉选项卡

标签:android   tabhost   actionbar   radiobutton   linux   

原文地址:http://blog.csdn.net/itwuchen/article/details/42265357

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!