博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android UI menu code
阅读量:6370 次
发布时间:2019-06-23

本文共 3861 字,大约阅读时间需要 12 分钟。

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

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);
  }
 
}

转载于:https://www.cnblogs.com/lovemo1314/archive/2012/08/14/2637939.html

你可能感兴趣的文章
Linux系统各发行版镜像下载
查看>>
JS获取键盘按下的键值event.keyCode,event.charCode,event.which的兼容性
查看>>
查看ORACLE 数据库及表信息
查看>>
腾讯、百度、阿里面试经验—(1) 腾讯面经
查看>>
Codeforces Round #374 (Div. 2) D. Maxim and Array 贪心
查看>>
HTML DOM 教程Part1
查看>>
GBDT的基本原理
查看>>
MySQL修改root密码的多种方法(转)
查看>>
MongoDB 基础命令——数据库表的增删改查——遍历操作表中的记录
查看>>
.NET Core 跨平台发布(dotnet publish)
查看>>
Activity入门(一)
查看>>
CentOS下如何从vi编辑器插入模式退出到命令模式
查看>>
Mysql索引的类型
查看>>
Eclipse debug模式 总是进入processWorkerExit
查看>>
Nginx的https配置记录以及http强制跳转到https的方法梳理
查看>>
springcloud(十三):Eureka 2.X 停止开发,但注册中心还有更多选择:Consul 使用详解...
查看>>
关于Boolean类型做为同步锁异常问题
查看>>
TestLink运行环境:Redhat5+Apache2.2.17+php-5.3.5+MySQL5.5.9-1
查看>>
Get File Name from File Path in Python | Code Comments
查看>>
显示本月每一天日期
查看>>