zoukankan      html  css  js  c++  java
  • android UI menu code

    目前还没有整理,只是把代码弄上来。

    package com.mediatek.uidemo;

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.ContextMenu;
    import android.view.ContextMenu.ContextMenuInfo;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.SubMenu;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;
    import android.widget.Toast;

    public class MenuActivity extends Activity {

     public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      this.setContentView(R.layout.menu);
      Button menuButton1 = (Button) findViewById(R.id.contextMenuButton1);
      this.registerForContextMenu(menuButton1);
      Button menuButton2 = (Button) findViewById(R.id.contextMenuButton2);
      this.registerForContextMenu(menuButton2);
      
     }

     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
      // TODO Auto-generated method stub
      
      menu.add(1, 1, 1, "111first").setOnMenuItemClickListener(new MenuItemClickListener());
      menu.add(1, 2, 2, "122second");
      menu.add(1, 3, 3, "211third");
      menu.add(1, 4, 4, "311forth");
      SubMenu subMenu = menu.addSubMenu(2, 1, 1, "桃子" );
      subMenu.add(2, 101, 103, "大桃子");
      subMenu.add(2, 102, 102, "小桃子").setOnMenuItemClickListener(new MenuItemClickListener());
      
      return super.onCreateOptionsMenu(menu);
     }

     public class MenuItemClickListener implements MenuItem.OnMenuItemClickListener {

      @Override           
      public boolean onMenuItemClick(MenuItem item) {    
       Toast.makeText(MenuActivity.this, item.getTitle()+ " is selected", Toast.LENGTH_SHORT).show();
       
       return true; //true表示完成当前item的click处理,不再传递到父类处理                }   
      }
     }
     @Override
     public void onCreateContextMenu(ContextMenu menu, View v,
       ContextMenuInfo menuInfo) {
      // TODO Auto-generated method stub
       if (v.getId() == R.id.contextMenuButton1) {
        menu.setHeaderTitle("button1 menu");
        menu.add(300, 300, 300, "context menu1").setOnMenuItemClickListener(new MenuItemClickListener());
        menu.add(300, 301, 301, "context menu2").setOnMenuItemClickListener(new MenuItemClickListener());
        SubMenu subMenu = menu.addSubMenu(2, 1, 1, "桃子" );
        subMenu.add(2, 101, 103, "大桃子").setOnMenuItemClickListener(new MenuItemClickListener());
        subMenu.add(2, 102, 102, "小桃子").setOnMenuItemClickListener(new MenuItemClickListener());
       } else {
        menu.setHeaderTitle("button2 menu");
        menu.add(301, 300, 300, "context menu21").setOnMenuItemClickListener(new MenuItemClickListener());
        menu.add(301, 301, 301, "context menu22").setOnMenuItemClickListener(new MenuItemClickListener());
       }
      super.onCreateContextMenu(menu, v, menuInfo);
     }

     @Override
     public boolean onMenuItemSelected(int featureId, MenuItem item) {
      // TODO Auto-generated method stub
      TextView tv = (TextView) findViewById(R.id.menuTextView2);
      
      switch(item.getItemId()) {
      case 4:
       Toast.makeText(MenuActivity.this, item.getTitle()+ " is selected,item id is 4!", Toast.LENGTH_LONG).show();
       break;
      case 400:
       tv.setText("another UI");
       break;
      case 401:
       tv.setText("Menu UI");
       break;
      default:
       Toast.makeText(MenuActivity.this, item.getTitle()+ " is selected,item id is not 4!!", Toast.LENGTH_LONG).show();
       break;
      }
      return super.onMenuItemSelected(featureId, item);
     }

     @Override   
     public boolean onPrepareOptionsMenu(Menu menu) {  
      // TODO Auto-generated method stub      
      TextView tv = (TextView) findViewById(R.id.menuTextView2);
      String currentText = tv.getText().toString();    
      if("Menu UI".equals(currentText)){       
       menu.clear();//先清掉菜单    
       
       MenuItem item = menu.add(0, 400, 401, "to another UI");
       //可以通过点击这个菜单项来改变tv1的值这样(变成N)就可以测试了      
       item.setIcon(android.R.drawable.alert_dark_frame);//android自带的图标     
       }      
      if("another UI".equals(currentText)){   
       menu.clear();//先清掉菜单       
       MenuItem item = menu.add(0, 401, 402, "to Menu UI");
       //可以通过点击这个菜单项来改变tv1的值这样(变成M)就可以测试了     
       item.setIcon(android.R.drawable.alert_light_frame);    
       }      
      menu.add(0, 402, 403, "Now is " + currentText);
      //现在共有两个菜单子项    
      return super.onPrepareOptionsMenu(menu);
      }
     
    }

  • 相关阅读:
    一个可以用的Lua的Class函数
    写一个可以用的Lua打印Table的函数
    关于C#的接口的碎碎念
    C#中接口是值类型还是引用类型?
    Effective C++笔记_条款31将文件间的编译依存关系降至最低
    Effective C++ 阅读笔记_条款27 尽量少做转型动作
    Flask--开发全套
    python之元类
    Django之模板层
    go打开文件
  • 原文地址:https://www.cnblogs.com/lovemo1314/p/2637939.html
Copyright © 2011-2022 走看看