關於android中v7包(appcompat)的說明,有需要的朋友可以參考下。
大家對於v4包都已經很熟悉了,現在在新建android項目時,v4包是默認導入的。v7包出來沒多長時間,用的人也不多,主要對3.0以下版本提供ActionBar支持,以及SearchView,PopupMenu等控件的支持。因為一些開源框架已經實現對3.0以下版本ActionBar的支持,所以v7包的使用意義也不是很大。既然谷歌官方提供了這個功能,也很有必要學習一下。現在根據自己在官方文檔上的學習和實踐,現總結如下:
1.v7包需要v4包的支持,在新建android項目時,v7包默認不導入,v4默認導入。v7包在sdk的E:\android-sdk-windows\extras\android\support路徑下。
2.v7中提供的jar包只有類文件,沒有資源文件,因此,需要將android-support-v7-appcompat作為庫導入到eclipse中並引用到項目中。該庫在sdk的路徑為E:\android-sdk-windows\extras\android\support\v7\appcompat。
3.新建activity不再繼承自Activity,而是繼承自ActionBarActivity,對ActionBar的操作也有一定改變。此外還必須為新建的activity添加v7資源庫中的主題,例如:android:theme="@style/Theme.AppCompat.Light",不添加的話會報錯。
4.使用SearchView等v7提供的類,在導入包的時候一定要選擇v7包,不要選擇sdk自帶的。
5.在menu中添加SearchView控件時,要嚴格按照如下格式,否則會報錯。注意加紅的地方
<menu xmlns:android=""
xmlns:yourapp="">
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
<item
android:id="@+id/search_view"
android:icon="@drawable/ic_launcher"
android:orderInCategory="0"
yourapp:showAsAction="ifRoom|collapseActionView"
yourapp:actionViewClass="android.support.v7.widget.SearchView"
android:title="search"/>
</menu>
參考:http://www.xuebuyuan.com/1587212.html
關於appcompat_v7.jar參考:
http://blog.csdn.net/caiwenfeng_for_23/article/details/26606817
http://blog.sina.com.cn/s/blog_71bc26030102vbyf.html
appcompat_v7.jar為支持actionBar Eclipse自動導入的一個兼容包
如果不小心刪除了 它 --》 http://jingyan.baidu.com/article/84b4f565c4e3e760f7da324b.html