ActionBarSherlock的使用——(一)配置

2023-10-06 01:18

本文主要是介绍ActionBarSherlock的使用——(一)配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介:

从android 3.0开始,android加入了一个新的api,actoinbar,随着android 4.0的发布和慢慢的推广开来,很多应用也开始使用google推广的ui设计,而actionbar是其中相当重要的一部分。本人现在对IOS的那种设计有点厌烦,对安卓4.0的设计风格比较感兴趣,然而为了程序的兼容性,又要考虑低版本的问题,所以在这里需要使用到兼容包。

无奈google没有发布3.0之前版本的actionbar的兼容包。还好网上有提供开源的别人开发的,actionbarshelock,以下简称abs.

abs可以让2.x的系统也能使用actionbar,另外现在abs也提供了很多其他3.0以后才提供的功能,比如fragement。这里就只介绍actionbar的使用。

abs的还有一项值得一提的优点就是,如果你在3.0以上的机子上使用,那么它会调用系统原生的actionbar。另外它的使用方法和系统自身的方法相当相似,如果你actionbar本身已经很熟悉了,那么abs也能很快上手。


下载:

程序的下载可以到官网:http://actionbarsherlock.com/download.html  对于WINDOWS的同学来说下载.zip包即可,截止到我发文时,ABS的版本是4.3.1。

在官网中还有“USAGE”的链接,由于软件在不断的更新,教程肯定有力所不能及之处,所以具体的地方还是要看官网的使用说明。


引用:

1、下载好.zip文件以后,将其中的actionbarsherlock文件夹解压到硬盘上的一个位置。

2、打开Eclipse,选择:FIle——New——Project——Android project from Existing Code...然后选择要导入的文件夹,finish就好。

3、右击导入的工程,(应该叫actionbarsherlock),选择最下面一项,属性,在打开的对话框里找“android”,确认那个“is library”被勾选。这样这个项目才可以被当做一个库,让我们的项目来引用。


4、打开个人项目的属性,(在本例中是actionBar),在android中添加Library,点击Add,并把我们刚才导入的库添加进去,有绿色对勾表示添加成功。


5、导入成功后,通常会出现错误。错误的原因是android-support-v4.jar的重复引用。

因为在abs里引用了这个包,而我们的项目里也有这个包,而一般来说这两个包是不一样的,所以会发生错误。只需把两个包换成一样的即可。

如:把abs的libs文件夹里的android-support-v4.jar,复制到我们项目的libs文件夹下一份,并且覆盖掉。


使用:

导入成功后,我们要给我们的程序添加ActionBarSherlock.

1、在程序的AndroidManifest.xml文件中,修改主题,改为:

[html] view plain copy
  1. android:theme="@style/Theme.Sherlock.Light"  
2、打开程序文件,如:MainActivity.java,引用:
[java] view plain copy
  1. import com.actionbarsherlock.app.ActionBar;  
  2. import com.actionbarsherlock.app.ActionBar.OnNavigationListener;  
  3. import com.actionbarsherlock.app.SherlockActivity;  
  4. import com.actionbarsherlock.view.Menu;  
  5. import com.actionbarsherlock.view.MenuInflater;  
  6. import com.actionbarsherlock.view.MenuItem;  

注意:上面的引用不一定全都会用到。

3、如果要让actionbar显示一些menu按钮,那么我们需要重写activity中的onCreateOptionsMenu,对应的还要重写onOptionsItemSelected来响应这些按钮的点击。另外该activity必须继承ShelockActivity.

[java] view plain copy
  1. public class MainActivity extends SherlockActivity {      
  2.             
  3.     @Override      
  4.     public void onCreate(Bundle savedInstanceState) {      
  5.         super.onCreate(savedInstanceState);      
  6.         setContentView(R.layout.activity_main);      
  7.                     
  8.     }      
  9.                 
  10.     @Override      
  11.     public boolean onOptionsItemSelected(MenuItem item) {      
  12.         switch(item.getItemId()){      
  13.         case R.id.menu_delete:      
  14.             Toast.makeText(this"delete", Toast.LENGTH_SHORT).show();      
  15.             break;      
  16.             
  17.         }      
  18.         return super.onOptionsItemSelected(item);      
  19.     }      
  20.                 
  21.     @Override      
  22.     public boolean onCreateOptionsMenu(Menu menu) {      
  23.         getSupportMenuInflater().inflate(R.menu.activity_main, menu);      
  24.         return super.onCreateOptionsMenu(menu);      
  25.     }      
  26.                 
  27. }  

其中,R.menu.activity_main是菜单的布局文件。内容如下:
[html] view plain copy
  1. <menu xmlns:android="http://schemas.android.com/apk/res/android" >  
  2.    
  3.     <item  
  4.         android:id="@+id/add"  
  5.         android:icon="@android:drawable/ic_menu_add"  
  6.         android:showAsAction="ifRoom"  
  7.         android:title="添加"  
  8.         android:titleCondensed="添加">  
  9.     </item>  
  10.   
  11.    
  12. </menu>  
运行后,效果如图:(虚拟机版本,API-8 2.2)

这篇先写到这里,希望和大家能给这个文章一些指点。

转载请注明来自: http://blog.csdn.net/icyfox_bupt/article/details/9286387


引用:http://blog.csdn.net/icyfox_bupt/article/details/9286387

这篇关于ActionBarSherlock的使用——(一)配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/152486

相关文章

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

springboot中使用okhttp3的小结

《springboot中使用okhttp3的小结》OkHttp3是一个JavaHTTP客户端,可以处理各种请求类型,比如GET、POST、PUT等,并且支持高效的HTTP连接池、请求和响应缓存、以及异... 在 Spring Boot 项目中使用 OkHttp3 进行 HTTP 请求是一个高效且流行的方式。

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Java中的抽象类与abstract 关键字使用详解

《Java中的抽象类与abstract关键字使用详解》:本文主要介绍Java中的抽象类与abstract关键字使用详解,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、抽象类的概念二、使用 abstract2.1 修饰类 => 抽象类2.2 修饰方法 => 抽象方法,没有