Support Package 和 ActionBarSherlock 使用心得

2023-10-29 04:08

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

Action Bar 和 ViewPager 出现以后,使得 Android 程序 cool 了很多。简单的说,ViewPager 使得实现手指横向划过屏幕来切换场景变得简单,这种切换方式在触摸屏上非常符合直觉,远胜 button 跟 tab 的体验。Action Bar 则提供了更为直接快捷的常用功能访问途径,在没有实体 menu 按键或者屏幕尺寸比较大的时候可以有更好的使用体验。

在没有 ViewPager 之前,各路神仙使用了各种办法来尝试实现平滑的视图切换,目前 ViewPager 已经进入 Support Package,得到了 Google 的官方支持。当然,Support Package 里的好东西还有大把,比如为使用 Honeycomb(Android 3.0.x;API Level 11)之前的开发者准备的 Fragment 等等。不过 Support Package 里目前并不包含 Action Bar,于是网上也出现了一些开源的 Action Bar 实现,比如 android-actionbar,GreenDroid 以及 今天要写的 ActionBarSherlock。

ActionBarSherlock 其实内置了一份 Support Package,所以并不需要在你自己的程序中再次引用 Support Package,如果已经做了引用,则需要去掉。ActionBarSherlock 需要使用 Android 3.2 SDK(API Level 13)进行编译,你的程序也需要至少 API Level 13 进行编译,但是编译出来的程序可以跑在 2.3 的系统上,并在低版本的系统上实现 Action Bar 和 ViewPager。

ActionBarSherlock 目前的最新版本是 v3.4.2,假设我们下载后把它释放在 E:\2ndboy\Android\ActionBarSherlock。ActionBarSherlock 不提供 jar 包下载,因为它内含的资源无法以 jar 的形式使用,所以要单独编译成 library 后被需要使用的程序引用。

释放后打开 Eclipse,菜单 File,New,Project…。选中 Android 下的 Android Project,Next。接着在 New Android Project 对话框里选中 Create project from existing source。Project Name 填 ActionBarSherlock。Location 使用 E:\2ndboy\Android\ActionBarSherlock\library,Next。在 Select Build Target 对话框中选中 Android 3.2(API Level 13),Finish。

如果遇到找不到 AndroidManifest.xml 的错误,可以尝试把 E:\2ndboy\Android\ActionBarSherlock 改名,出错原因是 Eclipse 其实是尝试在 ActionBarSherlock 下创建 project(因为我们指定的 Project Name 也叫 ActionBarSherlock),而不是 ActionBarSherlock\library。

如果看到很多类似“Description Resource Path Location Type
The method add(CharSequence) of type Menu must override a superclass method Menu.java /ActionBarSherlock/src/android/support/v4/view line 5 Java Problem”的错误,可能需要在 Project Properties 里面,把 Java Compiler 的 Compiler compliance level 改成 1.6。

以上就准备好了 ActionBarSherlock 库。接下来新建一个 Android Project,Select Build Target 时选 Android 3.2 或者更新的版本,Application Info 里面,Minimum SDK 指定一个你需要的最低版本,比如 4(Android 1.6)。

建好新工程以后我们把 ActionBarSherlock 引入这个 project 里,让这个 app 可以支持 Support Package 和 Action Bar。Project Properties,Android。在 Library 里点 Add…,选中 ActionBarSherlock(这时 ActionBarsherlock 需要在 workspace 里面,并处于打开状态),Ok。

加好以后如果发现 R class 没有生成(提示 R cannot be resolved to a variable),同时注意到新工程里引用的 Android SDK 低于 Android 3.2 的话,要进入 Project Properties,Android,在 Project Build Target 里选择 Android 3.2 或者更高版本,修改完成后最好 Close Project 后重新打开。

以上就是编译 ActionBarSherlock 并集成到自己 project 的全过程,我这个 Android 菜鸟摸索了半天才搞定,不容易啊:D 下面简单介绍下 code 部分。

使用 Action Bar 的 Activity 需要继承自 FragmentActivity,并且在 AndroidManifast.xml 里要指定 Activity 的 theme,示例如下:


<activityandroid:label="@string/app_name"android:name=".2ndboy"android:theme="@style/Theme.Sherlock" >

获取 Action Bar 实例要用 getSupportActionBar(),而不是 getActionBar()。由于 ActionBarSherlock 已经自带了一份 Support Package,所以我们不需要再去引入就可以直接使用 ViewPager 和 Fragment 了。Action Bar 上可以加 tab,跟 ViewPager 的 swipe 实现联动,此外 Android-ViewPagerIndicator 也是一个可参考的不错的开源库,用来实现 ViewPager 的各种指示器效果。

文章出处:http://blog.2ndboy.net/support_package_and_actionbarsherlock_tips/


ActionBarSherlock官方下载:http://actionbarsherlock.com/

下载完成后可按上文方法把library导入到自己的工程中,下载的包里也有一个例子工程samples,可以比较直观地学习。

这篇关于Support Package 和 ActionBarSherlock 使用心得的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

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 请求是一个高效且流行的方式。

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 修饰方法 => 抽象方法,没有

MyBatis ParameterHandler的具体使用

《MyBatisParameterHandler的具体使用》本文主要介绍了MyBatisParameterHandler的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、概述二、源码1 关键属性2.setParameters3.TypeHandler1.TypeHa

Spring 中的切面与事务结合使用完整示例

《Spring中的切面与事务结合使用完整示例》本文给大家介绍Spring中的切面与事务结合使用完整示例,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录 一、前置知识:Spring AOP 与 事务的关系 事务本质上就是一个“切面”二、核心组件三、完