Android Studio之菜单栏制作 (三)

选项菜单
1、定义所需要的全局变量

2、在函数onCreate(Bundle savedInstanceState)函数里获取上面定义的全局变量的资源

上面两步是必写的,下面的步骤不介绍了。

3、重写Activity的onCreateOptionsMenu(Menu menu)方法,在该方法中调用Menu对象来添加菜单或者子菜单。

4、需要应用程序响应菜单项的点击事件,可重写Activity的onOptionsItemSelected(MenuItem item)方法,调用item.getItemId()获得被点击菜单项的ID,做出不同的响应

java代码:

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    //定义按钮的全局变量
    private Button button;
    private TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 绑定按钮的资源(利用id找到xml文件中的按钮)
        button = findViewById(R.id.button);
        textView = findViewById(R.id.textView);
    }

    @Override//重写获取菜单项的方法
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater=getMenuInflater();//获取菜单Inflater,MenuInflater加载menu布局文件
        inflater.inflate(R.menu.menu1,menu);//通过inflate获取菜单资源
        return true;
    }
    @Override//菜单项被点击时的逻辑处理
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()){
            case R.id.one1:
                Toast.makeText(MainActivity.this,"我是一",Toast.LENGTH_LONG).show();
                break;
            case R.id.one2:
                Toast.makeText(MainActivity.this,"我是二",Toast.LENGTH_LONG).show();
                break;
            case R.id.one3:
                Toast.makeText(MainActivity.this,"我是三",Toast.LENGTH_LONG).show();
                break;
            case R.id.one4:
                Toast.makeText(MainActivity.this,"我是四",Toast.LENGTH_LONG).show();
                break;
            default:
                return true;
        }
        return true;
    }

}

效果图如下:

在这里插入图片描述

原文地址:https://www.cnblogs.com/wangdayang/p/14912982.html