昨天晚上更新了下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. LeetCode OJ--Construct Binary Tree from Inorder and Postorder Traversal *

    http://oj.leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/ 知道二叉树的中序 ...

  2. 重新实践《轻量级DJANGO》这本书

    从手到尾,手写的DJANGO,不借助命令,效果一样的呢. import os import sys import hashlib from django.conf import settings DE ...

  3. Codeforces 946 A.Partition

    随便写写,然后写D的题解. A. Partition   time limit per test 1 second memory limit per test 256 megabytes input ...

  4. ros pub sub ("~")

    base_velocity_smoother.cpp                        remap ("~")    订阅: "cmd_vel"   ...

  5. ConcurrentHashMap如何保证线程安全

    以前看过HashMap的内部实现,知道HashMap是使用Node数组+链表+红黑树的数据结构来实现,如下图所示.但是HashMap是非线程安全,在多线程环境不能够使用. 不过JDK在其并发包中为我们 ...

  6. Java出现错误“Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )”的问题分析

    若出现:Invalid escape sequence (valid ones are  \b  \t  \n  \f  \r  \"  \'  \\ )这样的问题,一般是转义字符的问题,下 ...

  7. 使用find命令查找Linux中的隐藏文件的方法

    我们可以在Linux 或者 Unix 系统上使用 find 命令去查询所有(全部)隐藏文件 基本语法如下: 复制代码 代码如下: [root@dabu.info ~]#find /要查找的文/件/夹/ ...

  8. 使用glReadPixels 读取颜色缓存,深度缓存和模板缓存数据

    glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *p ...

  9. 将可执行程序的内存空间扩展到3GB(windows)

    为了告知操作系统这个应用程序可以支持/3GB方式,我们需要往exe 文件头中添加一个 IMAGE_FILE_LARGE_ADDRESS_AWARE 标志.添加的方式很简单: 在你的系统的 Progra ...

  10. Vue.js 使用cordova camera插件调取相机

    本文给出在vue.js里如何使用cordova的插件完成调取相机及图库,并完成图片上传的操作.具体的操作步骤如下 第一步:在cordova项目下安装cordova-plugin-camera插件 co ...