menu部分xml代码

 1 <?xml version="1.0" encoding="utf-8"?> 2 <menu xmlns:android="http://schemas.android.com/apk/res/android" > 3      4     <item android:id="@+id/action_search" 5        android:title="搜索1" 6        android:orderInCategory="100" 7        android:showAsAction="always"/> 8      9     <item android:id="@+id/action_search2"10         android:actionViewClass="android.widget.SearchView"11         android:showAsAction="ifRoom|collapseActionView"12          android:orderInCategory="100"13         android:title="搜索2"/>14     15     16     <item android:id="@+id/action_share"17         android:title="分享"18         android:orderInCategory="100"19         android:icon="@drawable/ic_action_favor_normal"20         android:showAsAction="never"/>21     <item android:id="@+id/action_collection"22         android:title="收藏"23         android:orderInCategory="100"24         android:showAsAction="never"/>25     <item android:id="@+id/action_font"26         android:title="字体大小"27         android:orderInCategory="100"28         android:showAsAction="never"/>29 </menu>

Menu中overflower菜单图标显示实现【重写onMenuOpened方法,使用反射原理】

 1 /** 2      * 显示overflower菜单图标 3      */ 4     @Override 5     public boolean onMenuOpened(int featureId, Menu menu) {   6         if (featureId == Window.FEATURE_ACTION_BAR && menu != null) {   7             if (menu.getClass().getSimpleName().equals("MenuBuilder")) {   8                 try {   9                     Method m = menu.getClass().getDeclaredMethod("setOptionalIconsVisible", Boolean.TYPE);  10                     m.setAccessible(true);  11                     m.invoke(menu, true);  12                 } catch (Exception e) {  13                 }  14             }  15         }  16         return super.onMenuOpened(featureId, menu);  17     }  

针对Menu菜单中选项的事件监听操作

 1     /** 2      * menu菜单点击操作的监听事件 3      */ 4     @Override 5     public boolean onOptionsItemSelected(MenuItem item) { 6         switch(item.getItemId()){ 7         case android.R.id.home: 8             //finish(); 9             super.onBackPressed();10             break;11         case R.id.action_add:12             Toast.makeText(this, "添加", Toast.LENGTH_SHORT).show();13             break;14         }15         return super.onOptionsItemSelected(item);16     }

自定义ActionBar

 1 /** 2      * 初始化 ActionBar内容 3      * */ 4     private ActionBar actionBar; 5     private void initActionBar(){ 6          actionBar=super.getActionBar(); 7          actionBar.show(); 8           9          //显示Home区域10          actionBar.setDisplayShowHomeEnabled(true);11          //设置home区域回退按钮12          actionBar.setDisplayHomeAsUpEnabled(true);13          actionBar.setHomeAsUpIndicator(R.drawable.back_move_details_normal);14          15          //不显示Home区域标题16          actionBar.setDisplayShowTitleEnabled(true);//17          actionBar.setTitle("新闻");//设置title18          //不显示Logo图片19          actionBar.setDisplayUseLogoEnabled(false);//         20          //去除home区域的Icon图标【将icon颜色设置为透明】21          Drawable colorDrawable=new 22                  ColorDrawable(android.R.color.transparent);23          actionBar.setIcon(colorDrawable);24          25          //自定义区域26          actionBar.setDisplayShowCustomEnabled(true);27          TextView tvTitle=new TextView(this);//this,当前承载的28          tvTitle.setText("新闻信息");//tvTitle.setId();29          tvTitle.setTextSize(25);30          int colorVal=getResources().getColor(R.color.white);31          tvTitle.setTextColor(colorVal);//tvTitle.setTextColor(Color.WHITE);32          tvTitle.setGravity(Gravity.CENTER);33          34          LayoutParams layoutParams=35                  new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); 36          actionBar.setCustomView(tvTitle,layoutParams);37          38     }

实现效果:

更多相关文章

  1. 阅读《Android(安卓)从入门到精通》(27)——选项菜单
  2. Android官方文档翻译 十 2.3Styling the Action Bar
  3. Multiple markers at this line - The type java.lang.Object ca
  4. android添加快捷方式
  5. Android弹出菜单的灵活运用(自定义AlertDialog)
  6. Android内存泄漏排查利器LeakCanary
  7. Android-- 抽屉式公告
  8. android 5.0以上通知栏、状态栏图标变成白色
  9. Android(安卓)中的menu以及自定义menu

随机推荐

  1. android 文件 修改权限
  2. Android判断手机的当前网络
  3. android获取bitmap的方法
  4. 【Android】获取屏幕分辨率和顶栏高度全
  5. Android Studio 3.5 打Jar包
  6. android 中webview退出当前页面仍然继续
  7. 关于Android中apk使用不同的签名(key)的测
  8. [置顶] ADA系列小工具更新公告
  9. 因为Android M权限问题导致的"Permission
  10. android studio加载so包问题