Android 关于 actionsherlock 的使用

最近一个星期被 actionsherlock 搞得很不爽(光去足疗店就去了三次——减压),本来觉得应该不太会难啊(Android 已经基本入门),毕竟编程(虽然我是搞 .NET 的,但 Java 跟 .NET 有 90% 的相似度,虽然没用 Java 做过项目,但也不至于对 Java 什么都不懂……)也有年头了,可看了些资料和示例后,自我感觉,简单搞一下还行,但达到做项目的程度,还是复杂了点,到现在都没能体会~

看来啊,还是在官网系统地看写资料从头来过吧。近期想自己写个 Android APP,若不用 actionsherlock,貌似起点低了点啊,呵呵~

与官方兼容库的主题粘合在一起的 ActionBarSherlock,目的是让用户可以使用操作栏的设计方式,这种方式是在 Android Ice Cream Sandwich 中积累的经验。在此之前,顶部操作栏的设计还是比较麻烦的,通常是由四个部分组成,如下图 1 所示,从左到右,分别为应用图标、视图控制、操作按钮和更多操作,都需要自己弄,而且每个开发者对操作栏的设计可能不同,ActionBarSherlock 恰恰就是简化和规范操作栏的设计和实现。

图 1 Android 操作栏设计

Android Ice Cream Sandwich 是 Android 继 Froyo 后的下一个版本。因为,Android 系统版本混乱的局面一直困扰着 Android 开发者,Ice Cream Sandwich 解决两个问题:碎片(Fragment)设计,可以让应用在小屏幕上使用单个面板布局,在大屏幕上使用多个面板布局;帮助开发者驾驭不同尺寸的屏幕。

查看 Google 关于操作栏的设计原则

什么是 actionsherlock?事实上,actionsherlock 根据之前对操作栏设计和实践经验,在原生 Android 的基础上,封装的一个库,为了便于识别和使用,它在包名,及其内部大量的类等在命名和位置上都与原生的 Android 相匹配。

要求



由于 actionsherlock 使用了原生的操作栏(action bar)及其 Ice Cream Sandwich 的相关类,所以该库要求你必须使用 Android 4.0 或更高的版本来编译 actionsherlock 和你的项目。另外,也需要采用 JDK 1.6。

因为 actionsherlock 库是官方库的扩展,因此,你必须在你项目中引用 android-support-v4.jar

 

如何包含在你的项目中



如果你使用 ADT 插件版本 0.9.7 或更高的 Eclipse 开发环境,那么你就可以把 ActionBarSherlock 引入到你的项目。

Create a new Android project in Eclipse using the actionbarsherlock/ folder as the existing source. Then, in your project properties, add the created project under the ‘Libraries’ section of the ‘Android’ category.

其他方式包括使用 ant 从命令行编译,以及使用 maven 或 gradle  生成你的 Android 项目,请参看“ActionBarSherlock 官网”。

 

Action Bar API



当创建一个 activity 在所有 Android 版本中使用操作栏,你必须声明你的 activity 继承以“Sherlock”开头的任何一个类(例如,SherlockActivitySherlockFragmentActivity)。与操作栏的交互是通过调用 getSupportActionBar()(而不是 getActionBar())。

由 ActionBar 实例公开的 API 是原生方法(native method) 公开的一个完全的副本。在“Related Links”小节,参阅其文档,以及如何使用它。

注意: 当使用 SherlockFragmentActivity 时,也要使用“Sherlock-”前缀开头的 fragment 类,这样才能确保正确的功能(例如,SherlockFragment、SherlockListFragment)。该 activity 仍然与正常的 fragment 类功能一样,但你将不能使用任何的菜单相关的方法。

 

必要的主题化



因为该操作栏部件非常复杂,它需要一套默认的主题。该库提供三个核心的主题——其中任何一个都必须被应用到每个你需要操作栏存在的 Activity 上。

更多地请参考“主题化”。

 

引用



为了使用操作栏的功能,必须在  Android 3.0 以上的版本,该库包含并使用的大量的类,与原生 Android 的包名相对应。最常见的是:

  • com.actionbarsherlock.app.ActionBar
  • com.actionbarsherlock.view.Menu
  • com.actionbarsherlock.view.MenuItem
  • com.actionbarsherlock.view.MenuInflater

例如,com.actionbarsherlock.app.ActionBar 与 com.android.app.ActionBar 对应。

加入这些包才能确保你适当使用这些类型,以及额外的功能。

注意:大多数对于从 activity @Override 方法的错误都是由于错误 import 的结果。所有在 com.actionbarsherlock.* 包中类,它们的名字和位置都与原生类相匹配。

注意:为了从 XML 文件 inflate 你的菜单,你应该在你的 activitie 中调用 getSupportMenuInflater() 方法。fragment 回调会准备 inflater 的一个实例作为参数。最近我就犯了这个错误,eclipse 报了个 inflateException,看到这句话我才明白。

Android 关于 actionsherlock 的使用

时间: 2024-10-16 09:25:48

Android 关于 actionsherlock 的使用的相关文章

android开发之onCreate( )方法详解

onCreate( )方法是android应用程序中最常见的方法之一,那么,我们在使用onCreate()方法的时候应该注意哪些问题呢? 先看看Google Android Developers官网上的解释: onCreate(Bundle) is where you initialize your activity. Most importantly, here you will usually call setContentView(int) with a layout resource d

如何用 Android Studio 导入开源项目以及常见错误的解决办法

声明:这篇文章完全来自这篇文章,感谢大神的相助.这篇文章纯粹是为了备份. 本篇以Github上最热门的MaterialDesign库,MaterialDesignLibrary来介绍怎样使用Android Sudio导入开源项目的,如果你和我一样刚刚从Eclipse转到AS,那本篇文章非常适合你. 如果不引入任何第三方库,不做自动化分渠道打包等操作,那可以在完全不了解Gradle的情况下进行Android项目的开发.但如果要想导入Github上的热门项目,必须首先熟悉Gradle. 1. Gra

Android——调用高德地图API前期准备

1.登陆高德开放平台注册账号http://lbs.amap.com/ 2.创建自己的应用并且添加新key 获取发布版安全码获取方法: 在AndroidStudio的Terminal中编译: 输入如下图: 开发版安全码获取: 开发版获取的另一种方法:(和获取发布版本一样在AndroidStudio的Terminal中编译 只是keystore的路径改成debug.keystore    密钥库口令默认是android) 创建key成功 得到key: 前期准备完成 下一篇文章是开发配置 备忘 ,也希

Android小例子:使用反射机制来读取图片制作一个图片浏览器

效果图: 工程文件夹: 该例子可供于新手参考练习,如果有哪里不对的地方,望指正>-< <黑幕下的人> java代码(MainActivity.java): package com.example.imageswitchtest; import java.lang.reflect.Field; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.v

Android Studio 安装及常见问题

今年放假比去年早了一些,就提前回来了.感觉挺爽,结果教研室电脑没有带回来,悲剧是导师让我维护一下以前的项目,只能屁颠屁颠的搞起呀.只能用自己的笔记本搭建android开发环境.由于前阶段听说Android Studio用着爽歪歪,于是尝试在超卡的笔记本上跑Android Studio.哇咔咔,费了九牛二虎之力终于将Android Studio玩转了.先上个图,快过年了,祝大家新年快乐! Android官网也开始推广Android Studio了,以前官网好像提供Eclipse和ADT打包下载,现

Android 导航条效果实现(六) TabLayout+ViewPager+Fragment

TabLayout 一.继承结构 public class TabLayout extends HorizontalScrollView java.lang.Object ? android.view.View ? android.view.ViewGroup ? android.widget.FrameLayout ? android.widget.HorizontalScrollView ? android.support.design.widget.TabLayout 二.TabLayou

Android Studio 连接真机不识别

本人也是初学..写错的请大神多多批评指正! 不胜荣幸!! 强烈推荐使用真机测试..除非是最后关头要测试各个Android系统版本.. 本人遇到的连不上的原因有以下几种: 1  --   手机设置问题.开USB调试   方法:  手机设置 - 开发人员选项 - USB调试  - 勾选 2  --   数据线问题.  有的数据线只能用来充电,有的可以连接存储.识别方法很简单..插上机器有USB存储设备的提示的就可以用.另外数据线如果都露线皮了..就赶紧扔了.十块八块的总比你为这个破问题纠结一下午的好

android Activity 的生命周期 以及横屏竖屏切换时 Activity 的状态变化

生命周期Android 系统在Activity 生命周期中加入一些钩子,我们可以在这些系统预留的钩子中做一些事情.例举了 7 个常用的钩子:protected void onCreate(Bundle savedInstanceState)protected void onStart()protected void onResume()protected void onPause()protected void onStop()protected void onRestart()protecte

谈谈-Android中的接口回调技术

Android中的接口回调技术有很多应用的场景,最常见的:Activity(人机交互的端口)的UI界面中定义了Button,点击该Button时,执行某个逻辑. 下面参见上述执行的模型,讲述James对Android接口回调技术的理解(结合前人的知识和自己的实践). 使用一个比喻很形象地说明:客户端有个疑问打电话请教服务端,但服务端无法现场给出解答,相互之间约定:服务端一旦有答案,使用电话的方式反馈给客户端. 以上有三个主体:客户端.服务端和接口(方式). 接口回调的原理框图说明: Demo界面