eclipse安卓项目取消v4,v7 appcompat支持库Support Library关联的方法
wxleasyland@sina.com
2015.11.4
v4 Support Library
这个库是为Android 1.6(API level 4)和更高版本设计的。包括对应用组件、用户界面功能、辅助功能、数据处理、网络连接和编程工具的支持。
这个库就是一个文件“android-support-v4.jar”,它不带有界面资源,所以就直接放在你的APP的项目目录libs下面。
只要你的libs目录下有库文件,eclipse就会自动把它加入到项目中来。
新建APP项目时,eclipse会自动生成这个文件到你的项目中。
取消方法:如果你不用v4库,它的存在会增加你的APP程序安装包APK的大小,所以直接把这个文件删掉,再刷新一下项目就好了。
v7 appcompat library
这个库支持Action Bar用户界面。
这个库不仅有.jar文件,而且带有界面资源文件。所以是以库项目的形式出现的。在eclipse里是“appcompat_v7”这个项目。
如果你的APP项目新建时,mininum require SDK选<API14的,eclipse会自动生成“appcompat_v7”这个项目,并把你的APP项目与它相关联。(如果“appcompat_v7”项目有异常,可以把它删掉,再新建一个APP项目,“appcompat_v7”项目就会自动又出来了)
但是Action Bar要求项目在API 11以上才能用,所以项目可能会出错,见另一篇文章,或者取消这个库。
如果你不用v7 appcompat库,它的存在会增加你的APP程序安装包APK的大小,去除方法:
情况一、自己已有的APP项目
1. 源文件改成不含action bar的代码:
比如源文件是这样的:
import android.support.v7.app.ActionBarActivity; ――这句改成:import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends ActionBarActivity { ――这句中改成:extends Activity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) { ――这个功能方法全部删掉
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) { ――这个功能方法全部删掉
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
即变成了没有action bar的代码了:
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
2. 修改styles.xml文件,使其采用不带action bar的原本默认的样式:
res\values\styles.xml中有:<style name="AppBaseTheme" parent="Theme.AppCompat.Light">,改成parent="android:Theme.Light"
res\values-v11\styles.xml是:<style name="AppBaseTheme" parent="Theme.AppCompat.Light">,改成parent="android:Theme.Holo.Light"、
res\values-v14\styles.xml是:<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">,改成parent="android:Theme.Holo.Light.DarkActionBar"
3. 删掉menu项
把项目里的menu项(含有main.xml)整个删掉。
4.取消关联v7 appcompat库
在项目右键、属性、Android里,remove掉它:
5.刷新refresh一下项目,clean一下项目。应该就可以了。
情况二、新建一个APP项目
新建项目时:
mininum require SDK选API14;
Theme选什么无所谓;
后面一定要选empty activity(如果选blank activity,则生成的程序又是有action bar的代码了);
这时生成的项目就不会与“v7 appcompat库”关联的。
再把AndroidManifest.xml文件中的android:minSdkVersion="14"改成"8",就能支持低版本安卓系统了。
OK了,效果与“情况一”是完全一样的!!
因为developer.android.com这个网站被伟大的母亲墙掉了,所以资料不好找。v4、v7库的介绍和翻译可参考这个文章:http://blog.csdn.net/crazybigfish/article/details/18363351
文章评论(0条评论)
登录后参与讨论