zoukankan      html  css  js  c++  java
  • 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;
        }
    
    }

    效果图如下:

    在这里插入图片描述

  • 相关阅读:
    SQL server中自定义排序
    安装nodejs版本模块报错notsup Unsupported platform for n
    vue项目中一些标签直接放在<template>下会报错Failed to compile with 1 errors
    vue中使用element-ui出现Couldn't find preset "es2015" relative to directory
    解决两个相邻的span,或者input和button中间有间隙,在css中还看不到
    VsCode中代码折叠快捷键
    npm 操作代码
    vue项目打包成html,在本地点击直接能打开
    地图只显示部分区域,其他地区不显示
    vs里颜色显示块怎样显示
  • 原文地址:https://www.cnblogs.com/wangdayang/p/14912982.html
Copyright © 2011-2022 走看看