我们经常在手机界面看到菜单Menu活动痕迹,今天学习下。
修改下工程下menu_main.xml文件:
1
在主Activity_main.xml增加一个按钮,主要实现点击这个按钮就会销毁菜单活动:
17 8 9 17
最后修改下MainActivity文件:
1 package com.example.administrator.menudemo; 2 3 import android.app.Activity; 4 import android.os.Bundle; 5 import android.view.Menu; 6 import android.view.MenuItem; 7 import android.view.View; 8 import android.widget.Button; 9 import android.widget.Toast;10 11 public class MainActivity extends Activity {12 13 private Button btn_destroy;14 15 @Override16 protected void onCreate(Bundle savedInstanceState) {17 super.onCreate(savedInstanceState);18 setContentView(R.layout.activity_main);19 20 btn_destroy = (Button)findViewById(R.id.button_dest);21 btn_destroy.setOnClickListener(new View.OnClickListener() {22 @Override23 public void onClick(View v) {24 finish();25 }26 });27 }28 29 @Override30 public boolean onCreateOptionsMenu(Menu menu) {31 // Inflate the menu; this adds items to the action bar if it is present.32 getMenuInflater().inflate(R.menu.menu_main, menu);33 return true;34 }35 36 @Override37 public boolean onOptionsItemSelected(MenuItem item) {38 // Handle action bar item clicks here. The action bar will39 // automatically handle clicks on the Home/Up button, so long40 // as you specify a parent activity in AndroidManifest.xml.41 int id = item.getItemId();42 43 //noinspection SimplifiableIfStatement44 if (id == R.id.action_settings) {45 return true;46 }47 48 if (id == R.id.add_item){49 Toast.makeText(this,"clicked add item",Toast.LENGTH_LONG).show();50 }51 52 if (id == R.id.remove_item){53 Toast.makeText(this,"clicked remove item",Toast.LENGTH_LONG).show();54 }55 56 return super.onOptionsItemSelected(item);57 }58 }
运行效果
1)按下Menu键(菜单默认不会显示,要按下menu键菜单才会在底部显示)
点击Add选项显示如图:
如果显示在底部菜单不想按返回键退出,可以通过点击"手动销毁一个活动"这个按钮来销毁活动,主要是Activity类提供了一个finish()方法,我们在活动中调用一下这个方法就可以销毁当前活动了。