最上方就是最简单的ActionBar,从左到右依次是:返回键/图标/标题/
1.首先在styles.xml文件中,定义ActionBar的样式
通过"android:actionBarStyle"的自定义ActionBar样式
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name = "ActionBarStyle" parent="@android:style/Widget.DeviceDefault.ActionBar">
</style>
<style name="AppTheme" parent="@android:style/Theme.DeviceDefault.Light">
<item name="android:actionBarStyle">@style/ActionBarStyle </item>
</style>
</resources>
2.在Activity中设置ActioBar:
如果是自定义的ActionBar,那么需要设置mActionBar.setDisplayShowCustomEnabled(true);在这里不需要
public void setActionBar(){
setTitle(R.string.current_sim_infor); //设置标题内容
ActionBar mActionBar = getActionBar();
mActionBar.setDisplayHomeAsUpEnabled(true); //true:显示返回键
mActionBar.setDisplayShowHomeEnabled(true); //true:显示图标
mActionBar.setDisplayShowTitleEnabled(true); //true:显示标题
}
上面的三个设置可以用方法setDisplayOptions()代替,效果一样:
<pre class="java" name="code"> mActionBar.setDisplayOptions(ActionBar.DISPLAY_HOME_AS_UP //显示返回键
|ActionBar.DISPLAY_SHOW_HOME //显示图标
|ActionBar.DISPLAY_SHOW_TITLE); //显示标题
}
所显示的标题也可以在该activity在AndroidManifest.xml的图标设置:android:label="@string/current_sim_infor"
所显示的图标可以在该Activity在AndroidManifest.xml的图标设置:android:icon="@drawable/sim_record"
设置图标是可以点击的,否则在没有显示返回键的时候,图标是不能点击的:
mActionBar.setHomeButtonEnabled(true);
同时点击产生的监听也是对应android.R.id.home。
3.对返回键进行监听
覆写方法onOptionsItemSelected(),其中返回键id为android.R.id.home
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
int itemId = item.getItemId();
Log.d(TAG," onOptionsItemSelected() item= "+item +" itemId==" +itemId);
if(itemId==android.R.id.home){
finish();
return true;
}
return super.onOptionsItemSelected(item);
}