今天做一个关于Menu的案例,在案例中需要重写onCreateOptionsMenu和onCreateOptionsMenu函数,这里要注意的是onCreateOptionsMenu重写的只有一个参数的,还要注意要在string.xml中定义变量
这是ActivityMain.java的代码
package com.eoeAndroidMenu;
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 ActivityMain extends Activity {
public static final int ITEM0=Menu.FIRST;
public static final int ITEM1=Menu.FIRST+1;
Button button1=null;
Button button2=null;
/** 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);
button1.setVisibility(View.INVISIBLE);
button2.setVisibility(View.INVISIBLE);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
super.onCreateOptionsMenu(menu);
menu.add(0, ITEM0, 0, "显示button1");
menu.add(0, ITEM1, 0, "显示button2");
menu.findItem(ITEM1);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch(item.getItemId()){
case ITEM0:actionClickMenuItem1();break;
case ITEM1:actionClickMenuItem2(); break;
}
return super.onOptionsItemSelected(item);
}
private void actionClickMenuItem1() {
// TODO Auto-generated method stub
setTitle("button1可见");
button1.setVisibility(View.VISIBLE);
button2.setVisibility(View.INVISIBLE);
}
private void actionClickMenuItem2() {
// TODO Auto-generated method stub
setTitle("button2可见");
button1.setVisibility(View.INVISIBLE);
button2.setVisibility(View.VISIBLE);
}
}
这是main.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="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button android:id="@+id/button1"
android:layout_width="100px"
android:layout_height="wrap_content" android:text="@string/button1"/>
<Button android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="@string/button2"/>
</LinearLayout>
这是string.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, ActivityMain!</string>
<string name="app_name">MenuTest</string>
<string name="button1">button1</string>
<string name="button2">button2</string>
</resources>