使用Eclipse新建一个简单的有Blank activity的工程时,会自动创建一个继承于actionbarAcyivity的类,实现了以下代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
同时会自动创建一个appcompat_v7工程,产物是appcompat_v7.jar。
它的出现是因为选择的支持了较低的android版本。可以在AndroidManfest中看
<uses-sdk
android:minSdkVersion="xx"
android:targetSdkVersion="xx" />
它的作用就是在较低的android版本中支持一些新的控件,比如ActionbarActivity就是为了在较低的版本中使用actionbar。当版本大于等于16时继承activity可以直接使用actionbar。所以它的作用就是出于兼容性考虑。