Android项目使用support v7时遇到的各种问题GOOD
2015-10-01 06:09
501 查看
当我们开发android应用需要用到android-support-v7-appcompat.jar这个库时(比方说要在2.2版本上使用actionbar和fragment),在项目中导入v4和v7这两个库之后,新手往往会遇到一些问题。在这里,总结一下可能遇到的问题,以及解决的方法。
需要两个库:android-support-v4.jar,android-support-v7-appcompat.jar
温馨提示:这两个库最好版本一样,否则可能会有一些其他问题产生。
这两个库可以从sdk下的sdk\extras\android\support中获取
1
首先是在项目中导入这两个库
可以通过在项目根目录创建一个libs文件,然后把这两个库拷贝到里面,然后eclipse刷新一下这个项目,eclipse会智能添加这两个库
![](https://oscdn.geek-share.com/Uploads/Images/Content/201508/7134b86129fbd040d4ba52df3eccecfc.jpg)
2
添加完之后,可能遇到的问题:
一类问题: 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下。这样上面的问题可以搞定。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201508/c1a419355b1a1319f9e8f2a65743a74d.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201508/8afa079c0498d86622a246022c5d2cbd.jpg)
3
二类问题: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,来允许最低版本。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201508/d53627f3f8499757b36db9003527263b.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201508/0158abc6d6e8e1c28d2372cb04b67fc9.jpg)
4
最后附上测试写的actionbar tab加上fragment,在Android2.3.4三星手机上的实现结果
![](https://oscdn.geek-share.com/Uploads/Images/Content/201508/325e932e516e84d5ba7ef17da2ebb3d1.jpg)
END
android-support-v4.jar,android-support-v7-appcompat.jar这两个库版本最好一样
工具/原料
需要两个库:android-support-v4.jar,android-support-v7-appcompat.jar温馨提示:这两个库最好版本一样,否则可能会有一些其他问题产生。
这两个库可以从sdk下的sdk\extras\android\support中获取
方法/步骤
1首先是在项目中导入这两个库
可以通过在项目根目录创建一个libs文件,然后把这两个库拷贝到里面,然后eclipse刷新一下这个项目,eclipse会智能添加这两个库
![](https://oscdn.geek-share.com/Uploads/Images/Content/201508/7134b86129fbd040d4ba52df3eccecfc.jpg)
2
添加完之后,可能遇到的问题:
一类问题: 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下。这样上面的问题可以搞定。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201508/c1a419355b1a1319f9e8f2a65743a74d.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201508/8afa079c0498d86622a246022c5d2cbd.jpg)
3
二类问题: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,来允许最低版本。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201508/d53627f3f8499757b36db9003527263b.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201508/0158abc6d6e8e1c28d2372cb04b67fc9.jpg)
4
最后附上测试写的actionbar tab加上fragment,在Android2.3.4三星手机上的实现结果
![](https://oscdn.geek-share.com/Uploads/Images/Content/201508/325e932e516e84d5ba7ef17da2ebb3d1.jpg)
END
注意事项
android-support-v4.jar,android-support-v7-appcompat.jar这两个库版本最好一样
相关文章推荐
- android中的内存问题(一)
- android SFC
- Android新组件RecyclerView介绍,其效率更好
- Android进阶之设置透明、半透明等效果
- Android Studio下调试Libgdx桌面项目的正确设置
- Android命令行启动程序正确使用技巧解析
- Ant编译android程序
- Android Studio插件
- android前端开发 布局学习
- Android学习笔记(九)一个例子弄清Service与Activity通信
- Android中获取屏幕宽高
- android中actionbar的showAsAction属性设置为always无效解决方案
- Android中Loader及LoaderManager的使用(附源码下载)
- Android 开发环境下载地址 -- 百度网盘 adt-bundle android-studio sdk adt 下载
- Android中数据库的创建与增删改查操作
- Android基础学习之Notification(通知)
- [Android Pro] Android保存图片到系统图库
- Android数据存储和提供器——sharedPreference
- Android——发送和接收广播
- Android数据存储和提供器——sharedPreference