实现的效果如下:
一.如何显示ActionBar:
android3.0以上就可以使用actionbar,注意在AndroidManifest.xml里改写最小版本号:
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="17" />
二.如何让关闭ActionBar:
关闭actionbar的方法有两种,
2.1、改写AndroidManifest.xml。
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.Holo.NoActionBar">
2.2、使用代码来隐藏。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
actionBar = getActionBar();//获得当前actionbar
actionBar.hide();//隐藏actionbar
}
三.使用ActionBar显示选项菜单:
3.1显示横向排版的选项菜单
ActionBar可以将选项菜单显示成Action Item
Action Item可以在layout/menu里面写个xml来定义:
<item
android:id="@+id/action_settings2"
android:orderInCategory="100"
android:showAsAction="never"//从不显示
android:title="@string/action_settings2">
showAsAction可以修改为always,总是显示。
也可以在代码里改:
@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);
menu.getItem(0).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
menu.getItem(1).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
menu.getItem(2).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
return true;
}
3.2显示下拉菜单
在layout/menu里的main.xml里添加:
<item
android:id="@+id/action_settings2"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings2">
<menu>
<group>
<item
android:id="@+id/action_settings3"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
<item
android:id="@+id/action_settings4"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings1"/>
<item
android:id="@+id/action_settings5"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings2"/>
</group>
</menu>
</item>
3.3显示其他:
3.3.1显示时钟
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:actionLayout="@layout/clock"/>
3.3.2显示搜索
<item
android:id="@+id/action_settings1"
android:orderInCategory="100"
android:showAsAction="never"
android:actionViewClass="android.widget.SearchView"/>
3.4显示返回的小箭头:
在onCreate里
actionBar.setDisplayHomeAsUpEnabled(true);
3.5响应
public boolean onOptionsItemSelected(MenuItem mi){
switch(mi.getItemId()){
case android.R.id.home:
finish();
break;
case R.id.action_settings:
break;
}
return true;
}
四.改变ActionBar的背景
actionBar.setBackgroundDrawable(getWallpaper());//显示壁纸
因为比较懒,就没有添加图片,大家可以选择自己想要的图片。
源代码下载:
http://download.youkuaiyun.com/detail/joyinmay/7509491