昨天晚上更新了下Android SDK Manager,发现Extras下的Android Support Library已经更新到19.1了,上网一查原来是sdk\extras\android\support\v7中的android-support-v7目录又添加了新的内容。据官方介绍,android-support-v7新增了下拉刷新(SwipeRefreshLayout)控件和在低版本下兼容ACtionBar。SwipeRefreshLayout控件使用起来挺简单的,不过与我以前使用的android-pulltorefresh还是有点不太一样,android-pulltorefresh顶部是以圆形进度条或箭头展示加载中,它是作为一个View来使用,局限性较大,同时支持上拉加载更多,而SwipeRefreshLayout其实则是作为一个ViewGroup来使用的,即他必须嵌套一个ListView或ScrollView,可扩展性强,SwipeRefreshLayout展示是以水平直线渐变来展示加载中。至于我们用那个好,因项目和需求而定,而且google和GitHub上都有详细说明和样例,我就不一一细说了。

  本次主要想说下是使用android-support-v7在低版本下兼容ActionBar。做过android的大都知道,为了在平板等大屏幕android系统上有更好的展示效果,android 3.0 新增了Fragments(简称碎片)和ActionBar两大重量级组件。Fragments的灵活性自不必说(现在已经有很多人采用一个Activity+N个Fragment开发了)。ActionBar的强大和美观也赢得了众多开发者的追捧。但是只有Android 3.0以上才能使用,又让不少开发者望而却步。于是国外就有牛逼的人仿官方ActionBar实现了兼容低版本的ActionBarSherlock(官网:http://actionbarsherlock.com/),当然还有另外个版本的ActionBar也不错(https://github.com/johannilsson/android-actionbar)。这两个版本是开发者以前想使用ActionBar但又想兼容低版本时的最佳选择。现在,既然官网出了兼容低版本的ActionBar包,还是用官方的好些。当然,官方的兼容包的API也是很简单的,使用起来非常方便。下面是我根据官方的android-support-v7兼容包仿照着写的样例地址:

https://github.com/alishaoxiong/android-support-v7_ActionBarActivityExample

  目前主要有两个疑问:

  1、同时带preferences和actionbar怎么实现?

  2、不通过继承,通过代码可以怎么实现actionbar?

  上面两个问题当我使用ActionBarSherlock是可以实现的,但使用官方的兼容包没找到具体的解决方案,如果有知道的朋友,可以告诉我下,谢谢。

使用官方Android-support-v7在低版本上使用ActionBarActivity的更多相关文章

  1. android中如何在低版本(5.0之前)上使用tint(着色)属性

    1. 使用app前缀(app:backgroundTint,app:backgroundTintMode),如果使用android前缀,在低版本上是拿不到值的,因为这些属性是5.0以后才加入的. 2. ...

  2. android.support.v4与Android.support.v7

    Android提供了android.support.v4和android.support.v7两个库,以便低版本API可以使用高版本API的功能. Fragment(碎片)类,是在Android 3. ...

  3. 解决 android.support.v7.widget.GridLayout 使用 xmlns:app 出现 error 的问题

    GridLayout 是在 Android API Level 14 加进来的 它可用来取代 TableLayout 也提供了自由度较大且实用的排版功能 为了兼容 4.0 以下的较低版本 Androi ...

  4. classes could not be found: - android.support.v7.internal.app.WindowDecorActionBar问题的解决方法

    转载至----http://my.oschina.net/u/2425146/blog/546649?fromerr=aDYrFDVx.仅作个人收藏使用,有转载的朋友请连续原作者,谢谢 刚刚进入stu ...

  5. android 使用android.support.v7 添加ActionBar

    当需要在 android 7或更高的版本使用 ActionBar,则可以通过继承ActionBarActivity来实现, 网上有一个开源项目来兼容老版本显示ActionBar的效果:ActionBa ...

  6. Android Support V7 包中 ActionBar的使用

    以下示例为API<11,因为API>=11时本来就有ActionBar可以使用,所以不猜讨论范围之内 今天Google发布了最新的API 18,包括众多新的性能,正好最近在研究Action ...

  7. 配置android.support.v7.widget.Toolbar 搜索框样式

    AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xm ...

  8. android.support.v7.internal.widget.ActionBarOverlayLayout Couldn't Be Initialized

    问题症状: Android Studio 1.2 (Build 141.1890965) 新建工程,自动build完成后,Layout Editor无法预览Layout文件,报错内容: Renderi ...

  9. 报错:Binary XML file line #7: Error inflating class android.support.v7.widget.RecyclerView

    近期学习RecyclerView,使用eclipse引用RecyclerView.编写完demo后编译没有问题,一执行就挂掉,错误例如以下: 07-22 23:05:34.553: D/Android ...

随机推荐

  1. Java 经典笔试题

    这些题目对我的笔试帮助很大,有需要的朋友都可以来看看,在笔试中能遇到的题目基本上下面都会出现,虽然形式不同,当考察的基本的知识点还是相同的. 在分析中肯定有不足和谬误的地方还请大虾们能够给予及时的纠正 ...

  2. 【原创】关于jquery实现格式化时间

    //js格式化时间,参数jsonDate可以是后台数据 function jsonDateFormat(jsonDate) { try { var date = new Date(parseInt(j ...

  3. 【CSS】使用CSS控制文字过多自动省略号

    使用CSS可以设置一下样式: <style> u,small{ overflow: hidden; text-overflow: ellipsis; display: -webkit-bo ...

  4. django忘记超级用户密码的解决方法

    用Django shell: 1 python manage.py shell 然后获取你的用户名,并且重设密码: 1 2 3 4 from django.contrib.auth.models im ...

  5. Mac环境下安装运行splash

    http://blog.csdn.net/chenhy8208/article/details/69391097 最近需要使用scrapy爬虫做一些开发,用到了splash.我本机是mac环境,跳着看 ...

  6. BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第12章节--SP 2013中远程Event Receivers 远程Event Receivers App级别生命周期

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第12章节--SP 2013中远程Event Receivers  远程Event Receivers App级别生命周期 ...

  7. vue-router 的URL路径中#的意义

    传送门 https://router.vuejs.org/zh-c... Router 构造配置 routes 类型: Array<RouteConfig> RouteConfig 的类型 ...

  8. linux中ERROR: The partition with /var/lib/mysql is too full!解决的方法

    今天在ubuntu上遇见这个问题.应该是我的第一分区太小了. 解决的方法: bey0nd@wzw:/var$ cd /var bey0nd@wzw:/var$ rm -rf log 我们删除日志文件 ...

  9. Sales Team 仪表盘

                实际设定值         仪表定义     <div class="oe_center" t-if="record.invoiced_ta ...

  10. C语言-回溯例3

    排列问题 1.实现排列A(n,m)对指定的正整数m,n(约定1<m<=n),具体实现排列A(n,m).2. 回溯算法设计设置一维数组a,a(i)(i=1,2,…,m)在1—n中取值.首先从 ...