zoukankan      html  css  js  c++  java
  • 开源组件actionbarsherlock的使用

    从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 ert 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

    de ><manifest xmlns:android=de>de >"http://schemas.android.com/apk/res/android"de>

    de >    de>de >package=de>de >"com.example.absdemo"de>

    de >    de>de >android:versionCode=de>de >"1"de>

    de >    de>de >android:versionName=de>de >"1.0"de> de >>    de>

    de >         de> 

    de >    de>de ><uses-sdk    de>

    de >        de>de ><span style=de>de >"color: rgb(204, 0, 0);"de>de >>android:minSdkVersion=de>de >"8"de>

    de >        de>de >android:targetSdkVersion=de>de >"15"de>de ></span> />    de>

    de >         de> 

    de >    de>de ><application    de>

    de >        de>de >android:icon=de>de >"@drawable/ic_launcher"de>

    de >        de>de >android:label=de>de >"@string/app_name"de>

    de >        de>de >android:theme=de>de >"@style/AppTheme"de> de >>    de>

    de >        de>de ><activity    de>

    de >            de>de >android:name=de>de >".MainActivity"de>

    de >            de>de >android:label=de>de >"@string/title_activity_main"de>

    de >            de>de ><span style=de>de >"color: rgb(204, 0, 0);"de>de >>android:theme=de>de >"@style/Theme.Sherlock.Light</span>"de>de >>    de>

    de >             de>

    Tag:

    Freenovo 发表于2013-01-31 00:36:00 | 编辑 | 分享 0

    引用地址:

  • 相关阅读:
    pageControl点击白点时会变
    valueForKeyPath获取对象数组的属性
    探讨:通过循环数组或者集合,插入数据库中没有的数据
    Mybatis 中 Oracle 的拼接模糊查询
    Spring boot 中 Mybatis Plus 在 Oracle 新增数据时,主键自增问题
    在IntelliJ IDEA中,SpringBoot项目通过devtools实现热部署
    在 Mybatis 中遇到的那些坑
    华硕飞行堡垒耳机插进去之后再拔出来,电脑就没有声音了
    nyoj 776 删除元素
    nyoj 14 会场安排问题(贪心专题)java
  • 原文地址:https://www.cnblogs.com/freenovo/p/4469822.html
Copyright © 2011-2022 走看看