将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. error: The shader requires a sampler in slot 0 which hasn't been set [XXXsampler]

    About the sampler, you need to assign it to your pixelshader. m_d3dContext.Get()->PSSetSamplers(0 ...

  2. Codeforces Round #363 (Div. 2)->A. Launch of Collider

    A. Launch of Collider time limit per test 2 seconds memory limit per test 256 megabytes input standa ...

  3. 检测php网站是否已经被攻破的方法

    0x01 查看访问日志 看是否有文件上传操作(POST方法), IPREMOVED - - [01/Mar/2013:06:16:48 -0600] "POST/uploads/monthl ...

  4. jquery层居中,点击小图查看大图,弹出层居中代码

    1.层居中 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...

  5. Mysql 1030 Got error -1 from storage engine 错误解决

    检查你的my.cnf或my.ini,里面会有一个参数innodb_force_recovery,你看看他的值,默认是没有这个参数,没有的话,他的默认值是0,这个参数的值如果大于0,innodb会被禁止 ...

  6. maven 命令备忘

    1. 打包时 不执行测试 mvn package -Dmaven.test.skip=true

  7. Fragment 与 Activity 通信

    先说说背景知识: (From:http://blog.csdn.net/t12x3456/article/details/8119607) 尽管fragment的实现是独立于activity的,可以被 ...

  8. 网络上下载的Ghost系统含威胁

  9. hdu 3972 1 M possible

    一般做法: 显然的超内存 #include<stdio.h> #include<algorithm> using namespace std; ],ans[]; int mai ...

  10. *[codility]AscendingPaths

    https://codility.com/programmers/challenges/magnesium2014 图形上的DP,先按照路径长度排序,然后依次遍历,状态是使用到当前路径为止的情况:每个 ...