昨天晚上更新了下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. 在js中为对象添加和删除属性

    对于一个普通的js对象: var obj = { name:"mary", age:21 } 如果我们要对它添加新属性的话可以使用下列方式: obj.address = " ...

  2. (1)Unity3d界面、入门

    项目视图 层级视图 属性视图 场景视图 游戏视图 调整u3d整体界面布局 1.查看和移动视图 快捷键Q 2.沿轴方向位移 快捷键W 3.沿轴向旋转 快捷键E 4.沿轴向缩放 快捷键R 5.自由调节小大 ...

  3. [转]IIS7.5优化--提高线程数来适应高并发

    根据压测结果做出的修改历史: 第一步:只针对maxWorkerThreads.maxIoThreads和minWorkerThreads做了修改<processModel autoConfig= ...

  4. 洛谷—— P1561 [USACO12JAN]爬山Mountain Climbing

    https://daniu.luogu.org/problemnew/show/P1561 题目描述 Farmer John has discovered that his cows produce ...

  5. nfs详解及实现全网备份

    1.统一hosts cat /etc/hosts 172.16.1.5 lb01 172.16.1.6 lb02 172.16.1.7 web02 172.16.1.8 web01 172.16.1. ...

  6. Office 各版本下载链接

    Office 2007 链接: https://pan.baidu.com/s/1pNJDlafw6KQSlljRUAQtWw 提取码: xoml 密钥:DBXYD-TF477-46YM4-W74MH ...

  7. 2.【nuxt起步】-初始化创建nuxt项目

    1. 脚手架初始化: vue init nuxt-community/starter-template NuxtMyms 2.输入项目相关信息 3.切换到项目目录下 安装依赖 Cd nuxtmyms ...

  8. 使用c#訪问Access数据库时,提示找不到可安装的 ISAM

    使用c#訪问Access数据库时,提示找不到可安装的 ISAM.例如以下图: 代码例如以下: connectionString = "Provider=Microsoft.Jet.OLEDB ...

  9. Python学习笔记8:标准库之正則表達式

    Python拥有强大的标准库.从如今起,開始学习标准库中提供的一些经常使用功能. 首先看正則表達式(regular expression),它的主要功能是从字符串(string)中通过特定的模式(pa ...

  10. 重新认识一遍JavaScript - 2

    1.JavaScript没有Java和C中的int.double,怎么识别这些类型的呢?或者说不支持 问:你认为呢? 答:var 支持所有数据类型(int.double.string),取决于你输入的 ...