【ActionBar的使用】
来源:互联网 发布:centos 内核配置文件 编辑:程序博客网 时间:2024/06/07 08:51
在AS工程中使用ActionBar
简单实用:
1、功能清单文件中指定主题标签属性Theme.Holo或其子类
<application android :theme="@android:style/Theme.Holo.Light" >
2、可以自己指定显示的图标,默认是应用的图标
<activity android:name=".UI.MainActivity" android:logo="@drawable/icon" />
3、在Activity中设置属性
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); android.app.ActionBar actionBar= getActionBar(); actionBar.show();//设置显示 //actionBar.hide();//设置隐藏 actionBar.setHomeButtonEnabled(true); actionBar.setDisplayShowHomeEnabled(true);//以上两句是设置可以让actionBar的图标可以响应点击事件 actionBar.setDisplayHomeAsUpEnabled(true);//这一行用于返回效果 }
也可以设置Activity标签属性来设置隐藏
<activity android:name=".UI.WelComeActivity" android:theme="@android:style/Theme.NoTitleBar">
4、在res资源目录下创建一个menu文件夹,在menu文件夹创建一个actionbar_menu.xml
android:showAsAction :标签属性,根据需要自行设置
android:title :一般都设置,根据需要,但并不一定会显示,根据showAsAction标签影响
<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/menu_seek" android:showAsAction="always" android:actionViewClass="android.widget.SearchView" android:title="搜索" /> <item android:id="@+id/menu_history" android:showAsAction="never" android:title="查看历史" /> <item android:id="@+id/menu_down" android:showAsAction="never" android:title="查看下载" /></menu>
fRoom会显示在Item中,但是如果已经有4个或者4个以上的Item时会隐藏在溢出列表中。当然个数并不仅仅局限于4个,依据屏幕的宽窄而定never永远不会显示。只会在溢出列表中显示,而且只显示标题,所以在定义item的时候,最好把标题都带上。always无论是否溢出,总会显示。withTextwithText值示意Action bar要显示文本标题。Action bar会尽可能的显示这个标题,但是,如果图标有效并且受到Action bar空间的限制,文本标题有可能显示不全。 collapseActionView 声明了这个操作视窗应该被折叠到一个按钮中,当用户选择这个按钮时,这个操作视窗展开。否则,这个操作视窗在默认的情况下是可见的,并且即便在用于不适用的时候,也要占据操作栏的有效空间。一般要配合ifRoom一起使用才会有效果。
5、重写回调方法,就可以显示了
@Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.actionbar_menu, menu); return super.onCreateOptionsMenu(menu); }
6、重写点击回调方法,根据需要添加代码
android.R.id.home默认指定的是左上角的图标点击响应
@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: Toast.makeText (this, "你点击了“home”按键!" , Toast.LENGTH_SHORT).show() ; return true; case R.id. menu_seek: Toast.makeText (this, "你点击了“搜索”按键!" , Toast.LENGTH_SHORT).show() ; return true; case R.id. menu_down: Toast.makeText (this, "你点击了“查看下载”按键!" , Toast.LENGTH_SHORT).show() ; return true; case R.id. menu_history: Toast.makeText (this, "你点击了“查看历史”按键!" , Toast.LENGTH_SHORT).show() ; return true; default: return super .onOptionsItemSelected(item); }}
一般左上角的图标点击都是回退到主界面,在图标的点击响应添加代码
case android.R.id.home: //finish();这个只是简单的销毁了当前的界面 Intent upIntent = NavUtils.getParentActivityIntent(this);//获取到跳转至父Activity的Intent //如果父Activity和当前Activity是在同一个Task中的,则直接调用navigateUpTo()方法进行跳转 if (NavUtils.shouldUpRecreateTask(this, upIntent)) { android.support.v4.app.TaskStackBuilder.create(this) .addNextIntentWithParentStack(upIntent) .startActivities(); } else {//如果不是在同一个Task中的,则需要借助TaskStackBuilder来创建一个新的Task upIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); NavUtils.navigateUpTo(this, upIntent); } Toast.makeText(this, "你点击了“home”按键!", Toast.LENGTH_SHORT).show();return true;
分享键的使用:
menu文件 actionbar_menu.xml中加入一个item
<item android:id="@+id/action_share" android:actionProviderClass="android.widget.ShareActionProvider" android:showAsAction="ifRoom" android:title="分享" />
//实现分享ActionMenu显示 MenuItem shareItem = menu.findItem(R.id.action_share); android.widget.ShareActionProvider provider = (android.widget.ShareActionProvider) shareItem.getActionProvider(); intent = new Intent(Intent.ACTION_SEND); intent.setType("image/*"); provider.setShareIntent(intent);
搞定
模拟器上没有几个分享选项,如果真机的话会更多一点。
0 0
- ActionBar的详细使用
- Actionbar的使用
- [Android] ActionBar的使用
- ActionBar的使用
- android ActionBar的使用
- ActionBar的使用
- android ActionBar的使用
- ActionBar的使用
- Android ActionBar 的使用
- Actionbar的使用
- ActionBar-PullToRefresh的使用
- ActionBar的使用
- ActionBar-PullToRefresh的使用
- ActionBar的简单使用
- actionbar的使用
- ActionBar的使用
- android的ActionBar使用
- android ActionBar的使用
- PAT-Course List for Student (25)
- CSS3:元素的边框、背景和大小
- Java基础知识之集合框架(一)
- 正则表达式 - 简介
- android如何实现国际化
- 【ActionBar的使用】
- SQLite数据库的增删改查
- 移植OpenWrt到CuHead Pro WiFi
- 使用maven命令创建java项目
- 正则表达式 - 语法
- 安卓之检测网络
- Android中的颜色设置
- 如此之笨 storyboard里找view
- http客户端通信 (java原生)