选项菜单之主菜单

来源:互联网 发布:中国人民银行 知乎 编辑:程序博客网 时间:2024/05/04 17:46

今天我们讲下Android界面中的菜单选项,它可以分为两大类,分别是选项菜单和上下文菜单。

下面我们先看一下选项菜单,其实现方式也有两种,分别是在res的menu文件夹下自定义xml文件,

还有也可以在代码中自己定义菜单。

下面是这两种方式具体的实现代码:

1、使用xml文件实现菜单选项,xml文件

<menu xmlns:android="http://schemas.android.com/apk/res/android" >    <item        android:id="@+id/menu1"        android:orderInCategory="100"        android:showAsAction="never"        android:title="菜单一"/>     <item        android:id="@+id/menu2"        android:orderInCategory="100"        android:showAsAction="never"        android:title="菜单二"/>      <item        android:id="@+id/menu3"        android:orderInCategory="100"        android:showAsAction="never"        android:title="菜单三"/>      <item        android:id="@+id/menu4"        android:orderInCategory="100"        android:showAsAction="never"        android:title="菜单四"/></menu>
然后是MainActivity:

package com.example.optionmenu_01;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.view.Menu;import android.view.MenuItem;import android.widget.Toast;/** * 使用menu中的xml文件显示菜单 * @author Administrator * */public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {    //设置菜单所在的xml文件        getMenuInflater().inflate(R.menu.main, menu);        return true;    }        @Override    public boolean onOptionsItemSelected(MenuItem item) {        switch (item.getItemId()) {case R.id.menu1://showToast("第一个菜单");//设置菜单被点击跳转到另外一个Activityitem.setIntent(new Intent(MainActivity.this,SecondActivity.class));break;case R.id.menu2:showToast("第二个菜单");break;case R.id.menu3:showToast("第三个菜单");break;case R.id.menu4:showToast("第四个菜单");break;default:break;}    return super.onOptionsItemSelected(item);    }        private void showToast(String meg){    Toast.makeText(MainActivity.this, "您点击的是" + meg, 0).show();    }    }
2、接下来还有第二种方式,就是在Java文件中用代码实现选项菜单:

MainActivity:

package com.example.optionmenu_01;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.widget.ImageView;/** * 在代码中自定义菜单 * @author Administrator * */public class SecondActivity extends Activity{private ImageView iv;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.second_layout);iv = (ImageView) findViewById(R.id.iv);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {//menu.add("三国演义");//此方法可以设置菜单的id,这样在onOptionsItemSelected才可以对菜单设置点击事件menu.add(0, 100, 1, "三国演义");menu.add(0, 101, 1, "西游记");menu.add(0, 102, 1, "水浒传");menu.add(0, 103, 1, "红楼梦");return super.onCreateOptionsMenu(menu);}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {switch (item.getItemId()) {case 100:iv.setImageResource(R.drawable.d_bishi);break;case 101:iv.setImageResource(R.drawable.d_bizui);break;case 102:iv.setImageResource(R.drawable.d_chanzui);break;case 103:iv.setImageResource(R.drawable.d_chijing);break;default:break;}return super.onOptionsItemSelected(item);}}

0 0
原创粉丝点击