将ActionBarSherlock 作为库项目添加到当前的项目中去,然后创建ActionBar,并自定义ActionBar的标题栏

例子如下:

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Toast;
import com.actionbarsherlock.app.SherlockActivity;
import com.actionbarsherlock.view.MenuItem; public class MainActivity extends SherlockActivity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initActionBarTitle();
} /**
* 定义ActionBar的标题栏,可定义标题栏的图标和文字以及是否添加返回按钮
*
* @return void
* @author hsx
* @time 2014-3-14下午07:19:20
*/
private void initActionBarTitle() {

// 可以自定义actionbar
        getSupportActionBar().setDisplayShowCustomEnabled(true);
        getSupportActionBar().setDisplayShowTitleEnabled(false);
        // 不在actionbar显示logo
        getSupportActionBar().setDisplayShowHomeEnabled(false);

        View mainActionBarView = LayoutInflater.from(this).inflate(R.layout.main_action_bar, null);
/**
* 用此方法设置自定义的标题栏
*/
getSupportActionBar().setCustomView(mainActionBarView);
} @Override
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) { /*
* @param groupId The group identifier that this item should be part of.
* This can be used to define groups of items for batch state changes.
* Normally use {@link #NONE} if an item should not be in a group.
*
* @param itemId Unique item ID. Use {@link #NONE} if you do not need a
* unique ID.
*
* @param order The order for the item. Use {@link #NONE} if you do not
* care about the order. See {@link MenuItem#getOrder()}.
*
* @param title The text to display for the item.
*
*
* menu.add(groupId, itemId, order, title);
*/ MenuItem search = menu.add(0, 1, 2, "share");
search.setIcon(R.drawable.abs__ic_menu_share_holo_dark);
search.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); /*************************************************************
按钮的排列的顺序, 不是按照创建的先后顺序显示的, 而是根据第三个参数(order)的设定显示的,order数字小的排列在前面。
若是order的大小一样则,按照创建的先后顺序显示。
点击事件的判断是根据第二个参数(itemId)做判断的。
/*************************************************************/ MenuItem addItem = menu.add(0, 2, 1, "overflow");
addItem.setIcon(R.drawable.abs__ic_menu_moreoverflow_holo_dark);
addItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); return super.onCreateOptionsMenu(menu);
} @Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 1:
Toast.makeText(MainActivity.this, "分享", Toast.LENGTH_SHORT).show();
break;
case 2:
Toast.makeText(MainActivity.this, "溢出栏", Toast.LENGTH_SHORT).show();
break; }
return super.onOptionsItemSelected(item);
}
}

ActionBarSherlock的学习笔记(二) ------------ 创建ActionBarSherlock的更多相关文章

  1. angular学习笔记(二)-创建angular模块

    如果在页面的html标签(或任意标签)中添加ng-app,表示对整个页面应用angular来管理. 他是一个模块. 模块有助于把东西从全局命名空间中隔离. 今天学习如何自定义创建模块: <!DO ...

  2. MSMQ学习笔记二——创建Message Queue队列

    一.创建Message Queue队列的主要流程 1.定义MQQUEUEPROPS 结构: 2.设置消息队列属性: 3.初始化MQQUEUEPROPS 结构: 4.调用MQCreateQueue创建队 ...

  3. ActionBarSherlock的学习笔记(一) -------------- ActionBarSherlock的简要介绍

    1. 介绍 ActionBarSherlock 是Android compatibility library 的一个扩展, 不知道什么原因 Android 兼容开发包没有包含ActionBar. 所以 ...

  4. InterSystems Ensemble学习笔记(二) Ensemble创建镜像, 实现自动故障转移

    系列目录 InterSystems Ensemble学习笔记(一) Ensemble介绍及安装InterSystems Ensemble学习笔记(二) Ensemble创建镜像, 实现自动故障转移 一 ...

  5. AJax 学习笔记二(onreadystatechange的作用)

    AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...

  6. JMX学习笔记(二)-Notification

    Notification通知,也可理解为消息,有通知,必然有发送通知的广播,JMX这里采用了一种订阅的方式,类似于观察者模式,注册一个观察者到广播里,当有通知时,广播通过调用观察者,逐一通知. 这里写 ...

  7. Java IO学习笔记二

    Java IO学习笔记二 流的概念 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入输 ...

  8. NumPy学习笔记 二

    NumPy学习笔记 二 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...

  9. Django学习笔记二

    Django学习笔记二 模型类,字段,选项,查询,关联,聚合函数,管理器, 一 字段属性和选项 1.1 模型类属性命名限制 1)不能是python的保留关键字. 2)不允许使用连续的下划线,这是由dj ...

  10. 学习笔记(二)--->《Java 8编程官方参考教程(第9版).pdf》:第七章到九章学习笔记

    注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法者自负一切 ...

随机推荐

  1. texCUBE() to CubemapSampler.Sample()

    update dx9 to dx11 refers to   CUBEMAP sampler texCUBE(CubeMpaSampler,normal) maybe change to Cubema ...

  2. Unity3d Android程序嵌入Admob广告条

    原地址:http://dong2008hong.blog.163.com/blog/static/4696882720140441353482/ Seems like using a simple A ...

  3. zoj 2974 Just Pour the Water (矩阵快速幂,简单)

    题目 对于案例的解释请见下图: 这道要变动提取一下矩阵,之后就简单了 具体解释可看代码: #include <string.h> #include <stdio.h> #inc ...

  4. LINUX下如何查看tomcat运行状态,判断其是否启动

    1,查看Tomcat启动日志. ${catalina_home}\logs [root@iZ25b4ffkfaZ logs]# tail -f catalina.outSep 10, 2015 11: ...

  5. 2013 Multi-University Training Contest 1 Partition

    这题主要是推公式…… ;}

  6. MySQL数据导出导入【转】

    MySQL基础 关于MySQL数据导出导入的文章,目的有二: 1.备忘 2.供开发人员测试 工具 mysqlmysqldump 应用举例 导出 导出全库备份到本地的目录 mysqldump -u$US ...

  7. SpringMVC学习总结(三)——Controller接口详解(2)

    4.5.ServletForwardingController 将接收到的请求转发到一个命名的servlet,具体示例如下: package cn.javass.chapter4.web.servle ...

  8. switch… case 语句的用法

    switch… case 语句的用法   public class Test7 { public static void main(String[] args) { int i=5; switch(i ...

  9. Windows下gcc以及Qt的DLL文件调用之总结(三种方法)

    DLL与LIB的区别 :1.DLL是一个完整程序,其已经经过链接,即不存在同名引用,且有导出表,与导入表lib是一个代码集(也叫函数集)他没有链接,所以lib有冗余,当两个lib相链接时地址会重新建立 ...

  10. SQL Server数据库多种方式查找重复记录

    摘要:SQL Server是一个关系数据库管理系统,SQL Server数据库的应用是很多的,SQL Server数据库赢得了广大用户的青睐,本文将主要为大家介绍关于SQL Server数据库中查找重 ...