ActionBar -- 添加Action按钮
来源:互联网 发布:java高性能并发框架 编辑:程序博客网 时间:2024/05/24 00:45
为ActionBar添加上述自定义按钮。
点击最右边的三个竖点,弹出定位/设置/帮助等按钮,如下图1。
点击查找按钮时,如下图2。
图一
图二
1.首先在res -- men 文件夹下面,写一个simrecord_menu.xml布局文件。
其中一个item代表一个按钮。我们通过五个item定义了五个按钮,分别是:查找/添加/定位/设置/帮助/
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:alpha="http://schemas.android.com/apk/res-auto" > <item android:id="@+id/menu_search1" android:icon="@drawable/menu_search_white" android:actionViewClass="android.widget.SearchView" android:showAsAction="ifRoom|collapseActionView" android:title="@string/search"/><item android:id = "@+id/menu_add" android:icon="@drawable/menu_add_bg" android:title="@string/add" android:showAsAction="ifRoom|withText"/> <item android:id = "@+id/menu_locate" android:icon="@drawable/menu_locate_bg" android:title="@string/locate" android:showAsAction="never"/><item android:id = "@+id/menu_settings" android:icon="@drawable/menu_settings_bg" android:title="@string/settings" android:showAsAction="never"/> <item android:id = "@+id/menu_help" android:icon="@drawable/menu_help_bg" android:title="@string/help" android:showAsAction="never"/></menu>
其中 android:icon表示的是显示的图标,android:title表示的是显示的文字。通常在actionbar上显示的都是图标,在溢出菜单上(即三个竖点那个按钮)显示都是文字。
android:showAsAction表示的是该按钮的显示方式,有五个可选值:
ifRoom | never | always | collapseActionView | withText |
ifRoom: 表示如果空间有多余的位置,就显示在actionbar上,否则将隐藏在溢出菜单上。如该项目的添加按钮,则是设置为ifRoom,
当点击搜索按钮时,由于actionbar没有多余的位置,此时它被隐藏在溢出菜单中,见图二。
never:表示永远不显示在actionbar上,总是隐藏在溢出菜单上。如该项目的 定位/设置/帮助三个按钮,都是隐藏在溢出菜单的。
always:和nerver相反,表示永远显示在actionbar上。
collapseActionView:表示点击该按钮时,该按钮可以展开。如点击搜索按钮后,SearchView会展开占整个actionbar。
withText:显示actionbar的文本标题title
2.在显示该actionbar的activity中覆写方法onCreateOptionsMenu,将布局文件simrecord_menu.xml设置到activity中
@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// TODO Auto-generated method stubMenuInflater mMenuInflater = new MenuInflater(this);mMenuInflater.inflate(R.menu.simrecord_menu, menu);return true;}
通过每一个Item的ID,设置它的监听。
@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// TODO Auto-generated method stubLog.d(TAG," onOptionsItemSelected() item="+item);Log.d(TAG," onOptionsItemSelected() item.getItemId()="+item.getItemId());switch(item.getItemId()){case android.R.id.home:Toast.makeText(this, "home", Toast.LENGTH_SHORT).show();finish();return true;case R.id.menu_search1:Toast.makeText(this, "menu_search", Toast.LENGTH_SHORT).show();return true;case R.id.menu_add:Toast.makeText(this, "menu_add", Toast.LENGTH_SHORT).show();return true;case R.id.menu_help:Toast.makeText(this, "menu_help", Toast.LENGTH_SHORT).show();return true;case R.id.menu_locate:Toast.makeText(this, "menu_locate", Toast.LENGTH_SHORT).show();return true; case R.id.menu_settings:Toast.makeText(this, "menu_settings", Toast.LENGTH_SHORT).show();return true; default:return super.onOptionsItemSelected(item);}}
- ActionBar -- 添加Action按钮
- Android UI ActionBar功能-在 Action Bar 上添加按钮
- ActionBar 添加按钮
- ActionBar 添加返回按钮
- Android官方开发文档Training系列课程中文版:添加ActionBar之添加Action按钮
- 在 ActionBar 添加刷新按钮
- Android ActionBar添加menu按钮
- Android ActionBar添加menu按钮
- 2.2 添加action按钮
- 添加Action 按钮
- actionBar添加action图片和点击事件
- Android ActionBar中的按钮添加旋转动画
- 添加Action Provider 添加导航Tabs 自定义ActionBar样式
- [android ui]ActionBar的Action图标区添加
- 在Action Bar上添加操作按钮
- Android开发UI之添加Action按钮
- 添加一个分享的按钮在ActionBar(Ad…
- 给ActionBar中的按钮添加旋转动画(刷新动画)
- Oracle Coherence中文教程三:配置
- NPOI导出Excel2007
- iOS应用内支付(IAP)的那些坑
- 类 事件响应
- 开放接口使用积累
- ActionBar -- 添加Action按钮
- [leetcode] Remove Element
- 解决com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax;错误
- linq to sql 查询后排序(字符串类型的数字进行排序)
- 图片缓存(源于SDK文档)
- Mulitimedia-pause(RTSP)
- 变阻式恒流源
- 【Coder Force】264C - Choosing Balls (DP高难度思维转换)
- Android中的WebView使用(一)