关于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