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); }
实现效果:
以上所述就是本文的全部内容了,希望大家能够喜欢。
如对本文有疑问, 点击进行留言回复!!
Codeforces C. A Cookie for You (模拟 / 分类 / 贪心) (Round #654 Div.2)
DialogFragment弹窗(带黑色透明背景和不带黑色透明背景)
网友评论