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>

更多相关文章

  1. Android(安卓)Visible属性学习
  2. android java 小型知识点
  3. 33、Android(安卓)中子fragment控制父对象改变布局
  4. android 6.0後讀取外部SD卡的路徑的方法
  5. Android日记 获取SharedPreferences三种方式及使用
  6. Android(安卓)Activity生命周期
  7. TabWidget/TabHost的两种使用方法
  8. 浅谈Java中Collections.sort对List排序的两种方法
  9. Python list sort方法的具体使用

随机推荐

  1. Android多媒体框架初步分析
  2. android 带箭头的textview文字伸缩效果
  3. Android layer type与WebView白屏
  4. android设置屏幕禁止休眠的方法
  5. 大家网Android开发规范
  6. android动画Android 动画实践
  7. android 部分网址 https连接不上(Not tru
  8. Bluetooth in Android 4.2 and 4.3(三):Enab
  9. 基于命令行模式开发ANDROID应用
  10. android实现图片按任意路径截取