Android项目使用support v7时遇到的各种问题

来源:互联网 发布:photoshop cc mac网盘 编辑:程序博客网 时间:2024/05/29 02:51

Android项目使用support v7时遇到的各种问题

发表于8个月前(2015-03-10 11:51)   阅读(2743) | 评论(0) 3人收藏此文章, 我要收藏
0

12月12日北京OSC源创会 —— 开源技术的年终盛典 »  

摘要 当我们开发android应用需要用到android-support-v7-appcompat.jar这个库时(比方说要在2.2版本上使用actionbar和fragment),在项目中导入v4和v7这两个库之后,新手往往会遇到一些问题。在这里,总结一下可能遇到的问题,以及解决的方法。

目录[-]

  • 工具/原料
  • 方法/步骤
  • 当我们开发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会智能添加这两个库

      Android项目使用support v7时遇到的各种问题

    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下。这样上面的问题可以搞定。

      Android项目使用support v7时遇到的各种问题

      Android项目使用support v7时遇到的各种问题

    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,来允许最低版本。

      Android项目使用support v7时遇到的各种问题

      Android项目使用support v7时遇到的各种问题

    4. 4

      最后附上测试写的actionbar tab加上fragment,在Android2.3.4三星手机上的实现结果

      Android项目使用support v7时遇到的各种问题


    0 0
    原创粉丝点击