zoukankan      html  css  js  c++  java
  • Android标题栏上添加多个Menu按钮

    最近项目中碰到要在Android Menu旁边再添加一个按钮,而不是点击menu按钮然后在弹出一些选项.

    MainActivity代码:

    1. public class MainActivity extends Activity {  
    2.     private static final int MENU_CONFIRM = 17;  
    3.   
    4.     @Override  
    5.     protected void onCreate(Bundle savedInstanceState) {  
    6.         super.onCreate(savedInstanceState);  
    7.         setContentView(R.layout.activity_main);  
    8.     }  
    9.   
    10.     @SuppressLint("NewApi")  
    11.     @Override  
    12.     public boolean onCreateOptionsMenu(Menu menu) {  
    13.         // Inflate the menu; this adds items to the action bar if it is present.  
    14.         getMenuInflater().inflate(R.menu.main, menu);  
    15.         //添加标题栏的确定按钮  
    16.         MenuItem item=menu.add(0,MENU_CONFIRM,0,R.string.operation_confirm);  
    17.           
    18.         /** 
    19.          * setShowAsAction参数说明   MenuItem接口的一些常量 
    20.          * SHOW_AS_ACTION_ALWAYS   总是显示这个项目作为一个操作栏按钮。 
    21.          * SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW   此产品的动作视图折叠成一个正常的菜单项。  
    22.          * SHOW_AS_ACTION_IF_ROOM   显示此项目作为一个操作栏的按钮,如果系统有空间。  
    23.          * SHOW_AS_ACTION_NEVER     从不显示该项目作为一个操作栏按钮。 
    24.          * SHOW_AS_ACTION_WITH_TEXT  当这个项目是在操作栏中,始终以一个文本标签显示它,即使它也有指定一个图标。 
    25.          */  
    26.         item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);//主要是这句话  
    27.           
    28.         item.setOnMenuItemClickListener(listener);//添加监听事件  
    29.         item.setIcon(R.drawable.ic_menu_confirm);//设置图标  
    30.         return true;  
    31.     }  
    32.       
    33.     OnMenuItemClickListener listener=new OnMenuItemClickListener() {  
    34.         @Override  
    35.         public boolean onMenuItemClick(MenuItem item) {  
    36.             switch (item.getItemId()) {  
    37.             case MENU_CONFIRM:  
    38.                 Toast.makeText(MainActivity.this, "您点击了确定按钮", Toast.LENGTH_SHORT).show();  
    39.                 break;  
    40.             default:  
    41.                 break;  
    42.             }  
    43.             return false;  
    44.         }  
    45.     };  
    46. }  



    效果图如下:

  • 相关阅读:
    servlet简介
    synchronized锁的升级过程
    volatile的作用及原理
    redis数据类型
    mysql的主从复制
    redis的缓存穿透,缓存击穿,缓存雪崩
    网络从io到多路复用
    mysql索引
    mysql的执行计划
    mysql 常用函数
  • 原文地址:https://www.cnblogs.com/zhangyubao/p/7011048.html
Copyright © 2011-2022 走看看