Android項目使用support v7時遇到的各類問題

當咱們開發android應用須要用到android-support-v7-appcompat.jar這個庫時(比方說要在2.2版本上使用actionbar和fragment),在項目中導入v4和v7這兩個庫以後,新手每每會遇到一些問題。在這裏,總結一下可能遇到的問題,以及解決的方法。html

工具/原料

  • 須要兩個庫:android-support-v4.jar,android-support-v7-appcompat.jarandroid

  • 舒適提示:這兩個庫最好版本同樣,不然可能會有一些其餘問題產生。app

  • 這兩個庫能夠從sdk下的sdk\extras\android\support中獲取eclipse

方法/步驟

  1. 首先是在項目中導入這兩個庫工具

    能夠經過在項目根目錄建立一個libs文件,而後把這兩個庫拷貝到裏面,而後eclipse刷新一下這個項目,eclipse會智能添加這兩個庫測試

    Android項目使用support v7時遇到的各類問題

  2. 添加完以後,可能遇到的問題:spa

    一類問題:  values\......No resource foundxml

    比方說:htm

    res\values\styles.xml:4: error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light.DarkActionBar'.ip

    對於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時遇到的各類問題

相關文章
相關標籤/搜索