首页 > 代码库 > ActionBar下拉选项卡
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 >
|
ActionBar下拉选项卡
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。