menu部分xml代码
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/action_search"
android:title="搜索1"
android:orderincategory="100"
android:showasaction="always"/>
<item android:id="@+id/action_search2"
android:actionviewclass="android.widget.searchview"
android:showasaction="ifroom|collapseactionview"
android:orderincategory="100"
android:title="搜索2"/>
<item android:id="@+id/action_share"
android:title="分享"
android:orderincategory="100"
android:icon="@drawable/ic_action_favor_normal"
android:showasaction="never"/>
<item android:id="@+id/action_collection"
android:title="收藏"
android:orderincategory="100"
android:showasaction="never"/>
<item android:id="@+id/action_font"
android:title="字体大小"
android:orderincategory="100"
android:showasaction="never"/>
</menu>
menu中overflower菜单图标显示实现【重写onmenuopened方法,使用反射原理】
/**
* 显示overflower菜单图标
*/
@override
public boolean onmenuopened(int featureid, menu menu) {
if (featureid == window.feature_action_bar && menu != null) {
if (menu.getclass().getsimplename().equals("menubuilder")) {
try {
method m = menu.getclass().getdeclaredmethod("setoptionaliconsvisible", boolean.type);
m.setaccessible(true);
m.invoke(menu, true);
} catch (exception e) {
}
}
}
return super.onmenuopened(featureid, menu);
}
针对menu菜单中选项的事件监听操作
/**
* menu菜单点击操作的监听事件
*/
@override
public boolean onoptionsitemselected(menuitem item) {
switch(item.getitemid()){
case android.r.id.home:
//finish();
super.onbackpressed();
break;
case r.id.action_add:
toast.maketext(this, "添加", toast.length_short).show();
break;
}
return super.onoptionsitemselected(item);
}
自定义actionbar
/**
* 初始化 actionbar内容
* */
private actionbar actionbar;
private void initactionbar(){
actionbar=super.getactionbar();
actionbar.show();
//显示home区域
actionbar.setdisplayshowhomeenabled(true);
//设置home区域回退按钮
actionbar.setdisplayhomeasupenabled(true);
actionbar.sethomeasupindicator(r.drawable.back_move_details_normal);
//不显示home区域标题
actionbar.setdisplayshowtitleenabled(true);//
actionbar.settitle("新闻");//设置title
//不显示logo图片
actionbar.setdisplayuselogoenabled(false);//
//去除home区域的icon图标【将icon颜色设置为透明】
drawable colordrawable=new
colordrawable(android.r.color.transparent);
actionbar.seticon(colordrawable);
//自定义区域
actionbar.setdisplayshowcustomenabled(true);
textview tvtitle=new textview(this);//this,当前承载的
tvtitle.settext("新闻信息");//tvtitle.setid();
tvtitle.settextsize(25);
int colorval=getresources().getcolor(r.color.white);
tvtitle.settextcolor(colorval);//tvtitle.settextcolor(color.white);
tvtitle.setgravity(gravity.center);
layoutparams layoutparams=
new layoutparams(layoutparams.match_parent, layoutparams.match_parent);
actionbar.setcustomview(tvtitle,layoutparams);
}
实现效果:
以上所述就是本文的全部内容了,希望大家能够喜欢。