开源组件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最新下载包,提供大家下载 立即下载

相关推荐

23. STM32F103C8T6 ADC采集光敏电阻传感器模块光照强度实战

本文详细介绍了如何使用STM32F103C8T6的ADC模块采集光敏电阻传感器的光照强度。通过硬件接线、核心原理讲解、四步代码配置(GPIO、ADC模式、使能校准、数据滤波)以及串口验证,手把手指导完成从模拟信号到数字值的完整实战流程,并重点提示了ADC时钟分频等关键配置要点。

weixin_42300144的博客 221

ActionBarSherlock的使用——(一)配置

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

不停的往前奔跑 198

实战经验:Sensor Bringup中那些坑我都帮你踩过了(避坑指南)

本文是一份详尽的Sensor Bringup实战避坑指南,总结了从I2C通信、MCLK时钟、电源管理到图像异常等关键环节的常见问题与排查方法。文章提供了系统化的调试工作流,强调先硬件后软件的排查原则,旨在帮助硬件工程师快速定位并解决Sensor启动过程中的难题,提升开发效率。

weixin_29212429的博客 576

ActionBarSherlock: 统一Android应用的ActionBar体验

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

Unity打怪升级 1317

华为防火墙USG6000系列多ISP上网(通过WEB界面设置)

华为防火墙多ISP上网,内网分区上网。内网多网段不同上网方式。

daxihe880的博客 1万+

高通8155车机系统里,安卓和QNX是怎么‘打电话’的?聊聊HAB通信框架那些事

本文深入解析了高通8155车机系统中HAB通信框架如何实现安卓与QNX的高效协同。作为异构系统的通信桥梁,HAB通过共享内存和中断信号机制,在多媒体数据传输中展现出零拷贝、硬件加速等优势,成为智能座舱实现实时性与生态丰富性平衡的关键技术。

weixin_42715608的博客 384

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

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

gitblog_00071的博客 506

QGroundControl或者华科尔地面站安装完打不开问题解决

QGroundControl 华科尔 打不开

wv112406的博客 4919

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

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

低头走路 4594

西门子S7-1200控制伺服/步进电机方法与接线(全)

西门子S7-1200控制伺服/步进电机方法与接线(全) 伺服/步进电机在非标自动化控制中十分常用,但作者发现在各类开源网站上很少有人做西门子1200PLC控制伺服/步进电机的教程,于是今天想着跟大家分享一下。 本文共分为一下几个四个内容。 文章目录西门子S7-1200控制伺服/步进电机方法与接线(全)前言一、准备二、接线1.PLC接线:2.伺服接线:3. 步进电机的接线:三、代码组态代码四、可能出现的问题 前言 工程控制常用到三项异步电机、直流电机等,但他们都无法准确的控制电机角度;于是有了步进电机、

weixin_46060068的博客 7万+

【华为OD技术面】 - 考到的Lettcode手撕算法代码真题目录

【华为OD技术面 - 考到的Lettcode手撕算法代码真题目录

算法大师! 7821

Actionbarsherlock与Viewpagerindicator详解

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

高效匠人 158

【WRF工具】WRF 模型输出可视化工具 plotfmt

【WRF工具】WRF 模型输出可视化工具 plotfmt

WW、forever的博客 1292

android 开源项目整理

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

学习记录 1411

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

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

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

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

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

开源项目----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、付费专栏及课程。

余额充值