Android中menu详解(转)
Android中菜单的使用时非常频繁的,能够达到很好的使用效果,其实他的实现方法非常简单,下面为大家讲解,首先看图:
JAVA代码:
package com.smart;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
public class SmartMenu extends Activity {
public static final int ITEM0=Menu.FIRST;//系统值
public static final int ITEM1=Menu.FIRST+1;
public static final int ITEM2=Menu.FIRST+2;
public static final int ITEM3=Menu.FIRST+3;
Button button1;
Button button2;
Button button3;
Button button4;
// private Menu menu;
// private Menu menu
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button1=(Button)findViewById(R.id.button1);
button2=(Button)findViewById(R.id.button2);
button3=(Button)findViewById(R.id.button3);
button4=(Button)findViewById(R.id.button4);
button1.setVisibility(View.INVISIBLE);
button2.setVisibility(View.INVISIBLE);
button3.setVisibility(View.INVISIBLE);
button4.setVisibility(View.INVISIBLE);
//
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
menu.add(0, ITEM0, 0,"显示button1");
menu.add(0, ITEM1,0,"显示button2");
menu.add(0, ITEM2,0,"新建");
menu.add(0, ITEM3,0,"打开");
menu.findItem(ITEM1);//可以设置按钮的背景
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case ITEM0:
actionClickMenuItem1();
break;
case ITEM1:
actionClickMenuItem2();
break;
case ITEM2:
actionClickMenuItem3();
break;
case ITEM3:
actionClickMenuItem4();
break;
}
return super.onOptionsItemSelected(item);
}
//第一个事件的方法
private void actionClickMenuItem1(){
setTitle("button1可见");
button1.setVisibility(View.VISIBLE);//可见
button2.setVisibility(View.INVISIBLE);//不可见
}
//第2个事件的方法
private void actionClickMenuItem2(){
setTitle("button2可见");
button1.setVisibility(View.INVISIBLE);//不可见
button2.setVisibility(View.VISIBLE);//可见
}
private void actionClickMenuItem3(){
setTitle("button2可见");
button1.setVisibility(View.INVISIBLE);//不可见
button2.setVisibility(View.INVISIBLE);//不可见
button3.setVisibility(View.VISIBLE);//可见
button4.setVisibility(View.INVISIBLE);//不可见
}
private void actionClickMenuItem4(){
setTitle("button2可见");
button1.setVisibility(View.INVISIBLE);//不可见
button2.setVisibility(View.INVISIBLE);//不可见
button3.setVisibility(View.INVISIBLE);//不可见
button4.setVisibility(View.VISIBLE);//可见
}
}
XML布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="我的菜单我做主_1"
/>
<Button
android:id="@+id/button2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="我的菜单我做主_2"
/>
<Button
android:id="@+id/button3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="小子,给记住这代码"
/>
<Button
android:id="@+id/button4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="哈哈,你欺负我呀,我就能记住"
/>
</LinearLayout>
转载于:https://www.cnblogs.com/zhwl/archive/2011/09/18/2180096.html
Android中menu详解(转)相关推荐
- android中getSystemService详解
原文地址:android中getSystemService详解作者:邹斌 http://blog.sina.com.cn/s/blog_71d1e4fc0100o8qr.html http://blo ...
- android 之Menu详解
基本概念: 菜单:在应用程序中有很多类型的通用应用程序组件 A.选项菜单(OptionsMenu):当用户按手机上的菜单键时自动弹出的菜单 onCreateOptionsMenu(Menu menu) ...
- android广播intent原理,Android中BroadcastReceiver详解
BroadcastReceiver是什么? Android app可以发送广播也可以接收系统或者其它app发送的广播,是发送/订阅的设计模式.这些广播被发送当重要的事件发生的时候.例如,安卓系统发送广 ...
- android 静态注册wifi广播,Android中BroadcastReceiver详解
BroadcastReceiver是什么? Android app可以发送广播也可以接收系统或者其它app发送的广播,是发送/订阅的设计模式.这些广播被发送当重要的事件发生的时候.例如,安卓系统发送广 ...
- Android中Context详解
给大家介绍下我们在应用开发中最熟悉而陌生的朋友-----Context类 ,说它熟悉,是应为我们在开发中时刻的在与它打交道,例如:Service.BroadcastReceiver.Activity等 ...
- Android中LaunchMode详解
越是做的时间越长,基础知识就忘的越干净,最近做一个项目中,发现启动的几个Activity居然重叠了,我ri--,再不回忆一下就要退出Android界了. 概念解释 Task Task叫做任务,这个简单 ...
- android asynctask 参数,Android中AsyncTask详解
定义 AsyncTask是一个抽象类,在使用时需要继承该类,实现其抽象方法protected abstract Result doInBackground(Params... params).其主要作 ...
- [content-description] find_element_by_accessibility_id 在 android 中的详解
出处:http://testerhome.com/topics/1034 最近 Appium 引入了一个新的 find element 方法:python client 为例 def find_ele ...
- android中界面滑动延伸,android中ViewPager详解--视图滑动、界面卡等效果 (三)
GuideActivity.java引导界面: import java.util.ArrayList; import java.util.List; import android.app.Activi ...
最新文章
- js float 取精度
- debian 9系统安装配置iptables
- feign调用soap_Spring Cloud 组件 —— feign
- matlab的数学函数,matlab中常见数学函数的使用
- Linux下串口通信详解
- java学习笔记④MySql数据库--03/04 DQL查询
- 伴鱼DQC数据质量平台实践
- 前端酷炫效果参考_2020年大前端发展趋势
- hadoop 动态添加节点datanode及tasktracker
- nginx服务+LEMP搭建
- Windows系统修改Docker镜像下载地址
- 如何把照片裁剪成证件照指定尺寸比例?
- 学习基础的html代码知识(入门篇)
- Mybatis在xml文件中处理大于号小于号的方法
- Reapp 混合应用 - 帮助构建前所未所的强大应用(Reapp Hybrid apps - help you build powerful apps like never before)
- 商城源码+分销版+破j版+企业版+虚拟商品+第三方对接
- A/C加权的matlab实现
- 单元格的边框没有被显示出来
- 一个生成随机密码的WPF小程序
- java获取当前时间(年月日)
热门文章
- Mac Sublime Vim模式 方向键无法长按
- 【SSH进阶之路】Hibernate映射——一对一单向关联映射(五)
- [_CN] Eclipse精要与高级开发技术 note
- “staticMetaObject”: 不是“****”的成员
- 在oracle中通过connect by prior来实现递归查询!
- 一款炫酷Loading动画--载入成功
- 一次Linux磁盘损坏导致系统不可用恢复实例
- 挺水的一门课,发现全系都过了,就自己挂了,这是一种什么样的感觉呢?
- Qt学习之路(24): QPainter
- 【哲学】罗素《哲学问题》,把我从怀疑派拉回来,本能信仰