开源组件actionbarsherlock的使用

Android UI Action Bar之ActionBarSherlock NULL 博文链接:https://rensanning.iteye.com/blog/2005174 立即下载

摘要 从android 3.0开始,android加入了一个新的api,actoinbar,不得不说3.0之前android的标题栏确实比较丑,并且还没有任何功能,大部分情况下我都是直接将其隐藏的。 之前很多应用的顶部栏很多都是仿苹果的,比如微信。随着android 4.0的发布和慢慢的推广开来,

从android 3.0开始,android加入了一个新的api,actoinbar,不得不说3.0之前android的标题栏确实比较丑,并且还没有任何功能,大部分情况下我都是直接将其隐藏的。

之前很多应用的顶部栏很多都是仿苹果的,比如微信。随着android 4.0的发布和慢慢的推广开来,很多应用也开始使用google推广的ui设计,而actionbar是其中相当重要的一部分。

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

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

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

--------------------------------------------------

首先给出abs的官方网址,英文的,http://actionbarsherlock.com/。我写这文章时,最新版本是4.1.0. 就拿这个做介绍。首先下载对应的压缩包。

官方有在Youtube上提供一套基础视频教程http://youtu.be/4GJ6yY1lNNY,教我们怎么在项目中使用。至于怎么才能看youtube,这里就不做介绍了。回头我找时间上传到youku,方便大家观看。


其实视频教程里已经说得相当清楚了,建议大家还是看视频教程。这里就简单介绍下步骤,不同版本的eclipse和adt可能操作方式会略有不同。

1.eclipse中file->new->other->android类下的androd project from existing code,之前下载下来解压的包里面有个library文件夹,选择那个文件夹导入。



2.导入之后,我的工作目录下多了个library的项目,如果大家看这名字不爽可以改了,我这边命名为abs4.1.0。右击,查看属性,这里有一些要注意的地方。



在android类里,build target需要选择api 14以上。另外把is library勾上。



我由于用的是最新的adt(20),所以导入后没出现什么错误,有些人可能导入后会有红叉,貌似是因为缺少android-support-v4.jar这个兼容包。

这时官方推荐的做法是右击项目-》android tools->add suppoert library来修复。


这下应该没红叉了,abs算是成功导入了。接下来就是如何在我们的项目中使用它了。

和大多数android library一样,我们需要在我们的项目中add library。方法是右击属性,然后再android类中,点击add library,选择我们刚刚导入的abs4.1.0.

 

注意build tagert api level 必须设为15以上(abs4.1.0的版本是这样,其他版本不一定)。

至于为何要设这么高,之前也提到过,abs在4.0以上版本的机子上,默认会调用原生的actionbar,所以才会有此项限制。


导入后,可能有些人会出现jar包冲突,这是因为abs和自己项目中同时存在android-support-v4这个包,这时只要删掉自己项目中的这个jar包就ok了。

至此,我们就能在项目中使用abs 的 actionbar了。

 

 

说下abs简单的在项目中的使用方法。

其实和android 3.0以上版本的actionbar使用方法相当类似


1.配置文件

先看下manifest文件,注意上面红色高亮的字体

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<manifest xmlns:android= "http://schemas.android.com/apk/res/android"
     package= "com.example.absdemo"
     android:versionCode= "1"
     android:versionName= "1.0" >   
          
     <uses-sdk   
         <span style= "color: rgb(204, 0, 0);" >android:minSdkVersion= "8"
         android:targetSdkVersion= "15" </span> />   
          
     <application   
         android:icon= "@drawable/ic_launcher"
         android:label= "@string/app_name"
         android:theme= "@style/AppTheme" >   
         <activity   
             android:name= ".MainActivity"
             android:label= "@string/title_activity_main"
             <span style= "color: rgb(204, 0, 0);" >android:theme= "@style/Theme.Sherlock.Light</span>" >   
             <intent-filter>   
                 <action android:name= "android.intent.action.MAIN" />   
          
                 <category android:name= "android.intent.category.LAUNCHER" />   
             </intent-filter>   
         </activity>   
     </application>   
          
</manifest>

配置完这些,其实你可以尝试着打包运行一下,就能看到一个基本的actionbar了。但上面除了一图标,没有任何按钮之类的,这显然不是我们需要的。所以我们还得做些工作。


2.actionbar上的按钮

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

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

另外这里我使用了menu文件 res/menu/activity_main.xml

1
2
3
4
5
6
7
<menu xmlns:android= "http://schemas.android.com/apk/res/android" >   
     <item    
         android:id= "@+id/menu_delete"
         android:title= "@string/menu_settings"
         android:showAsAction= "ifRoom"
         android:icon= "@android:drawable/ic_delete" />   
</menu>

3.actionbar左上角返回按钮

实际项目中,我们经常需要ui中一个返回按钮来进行界面之间的跳转。其实很简单,和actionbar的使用一样,只需在Oncreate时或适当时机写上

1
getSupportActionBar().setDisplayHomeAsUpEnabled( true );

那么如何响应呢

也是重写onOptionsItemSelected() ,这个返回键的id是android.R.id.home。

ActionBarSherlock ActionBarSherlock最新下载包,提供大家下载 立即下载

相关推荐

SenseVoice 实测,阿里开源语音大模型,识别效果和效率优于 Whisper,居然还能检测掌声、笑声!5分钟带你部署体验

阿里开源语音大模型:语音识别效果和性能强于 Whisper,还能检测掌声、笑声、咳嗽等

u010522887的专栏 4万+

ActionBarSherlock的使用——(一)配置

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

不停的往前奔跑 198

Qt Installer Framework4.6.1的最基础使用1(win10+离线安装包 )

因工作需要,win程序发布后,打包成一可执行exe文件,且兼容win7系统笔者记录了一些关键要点,供有需要的小伙伴使用。

aggs1990的专栏 904

ActionBarSherlock: 统一Android应用的ActionBar体验

在Android应用开发的历史中,`ActionBarSherlock`是一个著名的库,它旨在解决不同Android版本之间`ActionBar`兼容性的问题。随着时间的推移,虽然它的重要性已经不如以往,但它在Android开发史上仍占有一席之地。本文将回顾`ActionBarSherlock`的作用、使用方法以及它在现代Android开发中的替代方案。

Unity打怪升级 1317

在VScode中配置Python开发环境(详细图片文字结合)

需要用到的软件下载包在官网里找一下,在window下的点击安装就行了;找一个3.8到3.10版本差不多都完善跟的上;

m0_72811193的博客 1599

SoC低功耗设计实战:28nm工艺下四核A7的Hierarchical Flow全流程解析

本文深入解析了在TSMC 28nm工艺上,采用Hierarchical Flow(层次化流程)实现四核Cortex-A7 SoC低功耗设计的全流程。文章从项目背景切入,详细探讨了基于UPF的电源规划、时钟树综合、接口时序收敛以及物理验证等关键环节,分享了使用Cadence Innovus等工具进行低功耗物理实现的实战经验与挑战。

weixin_29231263的博客 325

Windows 3步装APK:APK Installer 新手完全指南,免模拟器直装

APK Installer 是一款面向 Windows 的开源 APK 安装工具:把 APK 拖进窗口,它自动解析版本、图标和权限清单,再通过 ADB 把应用装进 WSA(安卓子系统)或你配对的手机,全程不用笨重的安卓模拟器。本文带你从装好工具到装进第一个 APK,最后附上坑位清单与速查表。 ## 🚀 快速上手:装好工具再装第一个 APK 1. **准备安装包。** 从项目 Releases

gitblog_00071的博客 506

IPC-7351标准实战:如何用LPWizard_10快速生成PCB封装库(附避坑指南)

本文提供了一份详细的IPC-7351标准实战指南,手把手教你使用LPWizard_10软件快速生成符合行业标准的PCB封装库,并直接导入Cadence Allegro。文章深入解读了IPC-7351密度等级的选择逻辑,并重点分享了软件配置、QFN封装生成实战步骤,以及导出失败、焊盘异常等常见问题的避坑解决方案,旨在帮助硬件工程师提升设计效率和可靠性。

weixin_29207439的博客 155

ActionBarSherlock学习笔记 第一篇——部署

ActionBarSherlock是JakeWharton编写的一个开源框架,使用这个框架,可以实现在所有的Android版本上实现ActionBar的效果和功能。当在4.0+的版本使用时,会使用Android自身的ActionBar,当在4.0之前的版本使用时,则会使用ActionBarSherlock自身自定义的一套框架来实现ActionBar的功能。     要获得ActionBarShe

低头走路 4594

手把手调试Android 14 ShellTransitions:用Log追踪ActiveTransition与Handler匹配过程

本文详细介绍了在Android 14中调试ShellTransitions机制的方法,重点通过Log追踪ActiveTransition与Handler的匹配过程。文章提供了关键日志点植入策略、Handler匹配机制解析及实战调试案例,帮助开发者解决窗口转场动画中的卡顿和错乱问题,提升系统动画性能。

weixin_42652674的博客 431

【BlueDroid】【BLE】低功耗蓝牙客户端和服务端开发流程解析(超详细)

1. 精讲):SPP/A2DP/AVRCP/HFP/PBAP/IAP2/HID/MAP/OPP/PAN/GATTC/GATTS/HOGP等协议理论2. 欢迎大家关注和订阅,和专栏会持续更新中.....敬请期待!

风云说通信 1926

Actionbarsherlock与Viewpagerindicator详解

此篇博客主要详细介绍时下比较流行的两个android开源组件的使用,AnctionBarsherlock与viewpagerindicator,具体使用将以demo形式呈现,先上效果图,看是否是你需要的。   一步:下载资源,github 是好东东。        这是两个开源组件的Github地址,具体你想用Git同步还是svn,自选        https://github.com...

高效匠人 158

Lammps实现结冰匀相成核

Lammps实现结冰匀相成核

Rockyoung 3848

android 开源项目整理

Android开源组件介绍:actionbarsherlock 的使用 ActionBar这个东西很早就知道,不过从来没用过,因为它不兼容2.x的系统。今天发现这个开源组件可以支持2.X的系统,所以就看了看,还不错吧。 1.使用介绍:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1126/631.html 2

学习记录 1411

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Android 开源框架ActionBarSherlock 和 ViewPager 仿网易新闻客户端

韩梦飞沙 yue31313 韩亚飞 han_meng_fei_sha  313134555@qq.com Android 开源框架ActionBarSherlock 和 ViewPager 仿网易新闻客户端

韩梦飞沙_韩亚飞 247

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Android/ActionBar兼容组件ActionBarSherlock

>>public abstract class ActionBar extends Object  Added in API level 11 仅支持3.0 以上的设备 并且google未提供该向下兼容包 >>ActionBarSherlock  由http://actionbarsherlock.com/samples.html提供的开源组件 目的是为了兼容2.*的设备 >>何为兼容

幺鹿 1186

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

开源项目----actionbarsherlock

开源项目下载地址:

liu537192的专栏 703

Android开源组件小结【转】

Android自带的组件比较丑陋(个人感觉),自己写组件比较复杂,而且必须熟悉android应用层开发的一些机制,如绘制、回调,所以非迫不得已的情况下还是不要自己写组件,因为怕考虑不周全导致譬如性能或异常方面的问题,你自己写也会耗费不少时间。个人觉得采用第三方UI是个不错的选择,尤其是你需要比较复杂的UI组件,而且又比较赶项目的时候。 优缺点 当然第三方UI组件不全是优秀的,个人总结如下:(当...

weixin_30362083的博客 67

Android 新兴的UI模式——侧边导航栏

侧边导航栏也就是大家熟知的SliddingMenu,英文也叫Fly-In App Menu、Side Navigation等。当然谷歌现在已经推出类似这个效果的组件--Navigation Drawer                            Side navigationFly-in app menuSlide out navigationSliding navigation ba

极致的专注 无限的热情 1万+

ActionBarSherlock组件。

(1)actionbarsherlock使用总结 http://blog.youkuaiyun.com/changemyself/article/details/8363058 http://actionbarsherlock.com/ ActionBarSherlock使用教程 http://www.chenwg.com/android/actionbarsherlock使用教程.h

xiongmc的专栏 654
上一篇: Ubuntu下安装eclipse
下一篇: 苹果雪豹版本10.6.7安装xcode 4.2 提示安装失败.XCODE 如何安装
ThomasQiuJS
博客等级 码龄18年 33粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值