源代码地址:https://github.com/JakeWharton/ActionBarSherlock

1.添加项目依赖包

2.修改AndroidManifest.xml中的主题(或者继承该主题的父样式)

android:theme="@style/Theme.Sherlock.Light"

3.自定义的Activity必须继承SherlockActivity类

4.重写onCreateOptionsMenu和onOptionsItemSelected方法。

@Override
public boolean onCreateOptionsMenu(Menu menu) { getSupportMenuInflater().inflate(R.menu.main_menu, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case android.R.id.home://点击应用图标
Toast.makeText(this, "home as up", Toast.LENGTH_LONG).show();
break;
}
return super.onOptionsItemSelected(item);
}

第一个方法设置menu,第二个方法设置menu的点击事件

完成以上四步即可使用该框架

下面说一下框架中的一些小操作

1.更换左上角的图标可以用一下两种方法

getSupportActionBar().setIcon(R.drawable.e_1);
getSupportActionBar().setLogo(R.drawable.e_1);

2.设置标题

getSupportActionBar().setTitle("商品详情");

3.设置actionbar的背景

Drawable drawable = getResources().getDrawable(R.drawable.e_1);
getSupportActionBar().setBackgroundDrawable(drawable);

4.设置左上角的图标可点击的两种方法

getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);

5.监听左上角的图标被点击

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case android.R.id.home://点击应用图标
Toast.makeText(this, "home as up", Toast.LENGTH_LONG).show();
break;
}
return super.onOptionsItemSelected(item);
}

6.设置标题是否可用,true可用且标题显示,false不可用则标题隐藏

getSupportActionBar().setDisplayShowTitleEnabled(true);

7.未完待续

最新文章

  1. 数据分析(8):Series介绍
  2. 关于匿名类无法转换为object
  3. adb出现unkown host advices 错误
  4. 问题-某个程序改了ICO图标后编译后还是显示老图标?
  5. Spring 的@Controller 和@RestController的区别
  6. Sublime_text3怎么发现PHP语法错误?
  7. HTML 5 Audio/Video DOM buffered 属性
  8. C++ STL简化了编程
  9. web 前端routine
  10. 从ELK到EFK演进
  11. HDU 5060
  12. CODEFORCES 25E Test
  13. eclispe安装tomcate没有srver解决
  14. 【LeetCode】227. Basic Calculator
  15. 刷机补丁包updater-script脚本
  16. NCO
  17. MySQL ICP(Index Condition Pushdown)特性
  18. MBP 使用笔记
  19. 【算法】BFS+哈希解决八数码问题
  20. 51nod 1463 找朋友(线段树+离线处理)

热门文章

  1. 记一次wepy里面的渲染问题(this.$apply()的使用)
  2. git命令详解(一)
  3. python之网络通信协议
  4. 转:drupal常用api
  5. 1145.cn 百度MIP适配实例
  6. loadrunner 脚本开发-url解码
  7. 《Inside C#》笔记(十三) 多线程 下
  8. [IDEA] IntelliJ IDEA 安装教程
  9. python第十六天,昨天来晚了,作业终于完成了
  10. iris数据集(.csv .txt)免费下载