androidappsupport
㈠ 如何使用android-support-v7-appcompat
工具/原料
需要两个库:android-support-v4.jar,android-support-v7-appcompat.jar
温馨提示:这两个库最好版本一样,否则可能会有一些其他问题产生。
这两个库可以从sdk下的sdk\extras\android\support中获取
方法/步骤
首先是在项目中导入这两个库
可以通过在项目根目录创建一个libs文件,然后把这两个库拷贝到里面,然后eclipse刷新一下这个项目,eclipse会智能添加这两个库
添加完之后,可能遇到的问题:
一类问题: values\......No resource found
比方说:
res\values\styles.xml:4: error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light.DarkActionBar'.
对于values这个地方产生的no resource found问题,说明是没有v7下的资源。
解决方法:
添加资源库,针对上面的例子,AppCompat这个是v7里的,所以缺少的是v7的资源。从sdk去获取,路径是sdk\extras\android\support\v7\appcompat,把这个library通过eclipse导入(import)。然后之前的项目添加该lib,再clean下。这样上面的问题可以搞定。
二类问题:values-v11,values-v21,values-v17等等下的No resource found
比方说:
appcompat\res\values-v21\styles_base.xml:75: error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.ActionButton'.
appcompat\res\values-v11\themes_base.xml:178: error: Error: No resource found that matches the given name: attr 'android:windowActionBar'.
appcompat\res\values-v14\themes_base.xml:27: error: Error: No resource found that matches the given name: attr 'android:actionModePasteDrawable'.
对于在values-v11这类针对不同android target加载的values下找不到资源的问题,原因还是一样,找不到这个target下的资源。
解决方法:
很简单,把project.properties里的target=android-8或者可能稍微高点,改到target=android-21或者更高(前提是sdk已经下载了该target的库),然后再clean下项目。这样这类问题也就解决了,当然你在Manifest里不要忘记加上uses-sdk,来允许最低版本。
最后附上测试写的actionbar tab加上fragment,在Android2.3.4三星手机上的实现结果
㈡ Android 应用只支持4.0以上还需要support v7兼容包么
若要兼容低版本,则相当于不能使用新版sdk里存在,而旧版本sdk里不存在的内置控件(一般都在android.widget包里),因为若运行在低版本系统的手机上,会找不到类。
如果想使用怎么办呢?这时向下兼容包就发挥作用了,v4的目的是把新的sdk里的控件和特性带给1.6+,v7的目的是把新的sdk里的控件和特性带给2.1+,这确实是谷歌很负责任的一个行为,要知道iOS就任性的不做向下兼容(要么你别想用,要么你给我更新系统!)
建议使用新版sdk的兼容包里的兼容性控件(一般在android.support.v_.widget包中,兼容包也会跟着sdk内置控件的特性升级而有所变化,每个版本尽量兼容最新的特性,所以尽量使用跟构建sdk相同版本的兼容包以获得最多特性支持,可以在对应版本的android SDK的目录下找到)。
如果基于4.0以上,则兼容包中对应的绝大多数控件都已经在构建sdk中存在,不需要使用兼容包,毕竟sdk里内置的比support这种为了照顾低版本系统的功能肯定要更强大。
这里说绝大多数,是因为像ViewPager这种常用的控件确实一直任性的只存在于v4 support中,而原生内置sdk中一直没有同位体存在。如果你想使用的话还是得引入v4 support(当然也可以去github找个其他的开源实现方式)。
㈢ 如何使用android-support-v7-appcompat
添加V7兼容包(v7 appconpat)
创建一个基于support library代码的 library project:
确保你已经利用 SDK Manager下载了Android Support Library。
创建一个library项目并且确保需要的JAR文件包含在了项目的build path中:
选择File > Import。
选择Existing Android Code Into Workspace 并点击Next。
浏览SDK安装目录,并进入Support Library目录下。例如,如果你要添加appcompat项目,浏览 <sdk>/extras/android/support/v7/appcompat/。
点击Finish引入项目。对于v7 appcompat项目,你将看到一个标题为android-support-v7-appcompat的新项目。
在新项目中,展开libs/ 文件夹,右键点击每一个.jar文件,并选择Build Path > Add to Build Path。例如,当创建v7 appcompat项目时,同时将android-support-v4.jar和android-support-v7-appcompat.jar文件添加到build path中。
右键点击library项目文件夹并选择Build Path > Configure Build Path。
在Order and Export选项中,在刚刚添加到build path中的.jar文件上打勾,这时这些文件成为项目可用的了并依赖于这个library项目。例如,appcompat项目要求同时导出android-support-v4.jar和android-support-v7-appcompat.jar文件。
去掉Android Dependencies上的对勾。
点击OK完成设置
现在你拥有了一个包含你选择的Support Library的library项目,你可以在一个或多个应用项目中利用这个Support Library。
现在我们要向应用工程(需要加入Support Library的工程)添加库:
在项目浏览器中右键单击你的项目,选择Properties。
在左边的分类面板中,选择Android。
在Library面板中,点击Add。
选择库项目,然后点击OK。例如,appcompat项目会在列表中显示为android-support-v7-appcompat。
在properties窗口中,点击OK。
㈣ 如何使用android-support-v7-appcompat
综述:通过SDK Manager获取Support Library。
1、打开Android SDK Manager。
2、在SDK Manager窗口,滚动到Package List的末尾,找到Extra文件夹,如果需要的话打开文件夹显示它的内容。
3、选择Android Support Library项目。
注意:如果你使用的是Android Studio开发,选择并安装Android Support Repository项目而不是Android Support Library项目。
4、点击Install packages按钮。
5、下载完成后,SDK会将Support Library文件安装到你已经存在的Android SDK目录下。
㈤ Android Support v4,v7,v13的区别和应用场景
高版本的 SDK里提供了新的东西,如果你用了这些东西开发应用,然后你又想支持低版本SDK的机器的时候你就需要把新的东西直接导入你的apk里面,这样你的apk装到低版本的机器里去也能运行。
Android Support v4 是最早(2011年4月份)实现的库。用在Android1.6 (API lever 4)或者更高版本之上。它包含了相对V4, V13大的多的功能。
例
如:Fragment,NotificationCompat,LoadBroadcastManager,ViewPager,PageTabAtrip,Loader,FileProvider
等。
详细API 参考 http://developer.android.com/reference/android/support/v4/app/package-summary.html
Android Support v7: 这个包是为了考虑Android2.1(API level 7)
及以上版本而设计的,但是v7是要依赖v4这个包的,也就是如果要使用,两个包得同时
被引用。
v7支持了Action Bar。
Android Support v13:这个包的设计是为了android 3.2及更高版本的,一般我们都不常用,平板开发中能用到
㈥ android-support-v7-appcompat 小红叉叉 解决方案
更新了ADT后,这个小红叉叉让我很是头疼,网上找一圈后发现解决办法如下:
先是打开Window-> Android SDK Manager
接着,对着android-support-v7-appcompat ,右击-> Properties->
将Project Build Target 选择对应的版本号,这里应该选择 Android 6.0,23号版本。如图。
最后,Project -> Clean 一下就可以了。