Android studio实现菜单操作

 更新时间:2021年10月20日 11:22:48   作者:Be your bubble  
这篇文章主要为大家详细介绍了Android studio实现菜单操作,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Android studio实现菜单操作的具体代码,供大家参考,具体内容如下

要求:

1.设置“打开”、“关闭”和“退出”三个菜单项的菜单。
2.当单击“打开“菜单项时,使用Log.i显示”文件已打开“
3.当单击“关闭“菜单项时,使用Log.i显示”文件已关闭“
4.当单击“打开“菜单项时,使用Toast显示”确定要退出吗?“

方法一:

main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="长时间点这"/>
</LinearLayout>

menu.xml:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/open"
        android:title="打开">
    </item>
    <item
        android:id="@+id/close"
        android:title="关闭">
    </item>
    <item
        android:id="@+id/quit"
        android:title="退出">
    </item>
</menu>

.java:

package com.example.first;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.ContextMenu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private static final  String TAG="MainActivity";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TextView tv=(TextView)findViewById(R.id.text1);
        registerForContextMenu(tv);
    }
    @Override
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
        MenuInflater inflater=new MenuInflater(this);
        inflater.inflate(R.menu.menu,menu);
        menu.setHeaderTitle("选择:");//为菜单头设置标题
    }
    @Override
    public boolean onContextItemSelected(MenuItem item) {
        switch (item.getItemId()){
            case R.id.open:
                Log.i(TAG, "已经打开");
                break;
            case R.id.close:
                Log.i(TAG, "已经关闭");
                break;
            case R.id.quit:
                Toast.makeText(this, "已经退出", Toast.LENGTH_SHORT).show();
                break;
        }
        return super.onContextItemSelected(item);
    }
}

方法二:

main.xml 啥都不写
menu.xml不变
.java改变:

package com.example.first;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
import android.util.Log;
public class MainActivity extends AppCompatActivity {
    private static final  String TAG="MainActivity";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    //用onCreateOptionsMenu()显示菜单
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu,menu);//getMenuInflater()方法得到MenuInflater
        //调用inflate接收两个参数
        //R.menu.main指调用menu文件下的main资源文件
        return true;//返回true,允许创建的菜单显示,返回false不显示
    }
    //定义菜单响应事件
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()){
            case R.id.open:
                Log.i(TAG, "已经打开");
                break;
            case R.id.close:
                Log.i(TAG, "已经关闭");
                break;
            case R.id.quit:
                Toast.makeText(this, "已经退出", Toast.LENGTH_SHORT).show();
                break;
        }
        return true;
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Android后台定时提醒功能实现

    Android后台定时提醒功能实现

    这篇文章主要介绍了Android后台定时提醒功能,针对Service,AlarmManager的使用进行详细阐述,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • 仿iPhone风格对话框(附件包含例子/jar包/jar包源码)

    仿iPhone风格对话框(附件包含例子/jar包/jar包源码)

    这个对框完全继承、仿照AlertDialog,只是实现了自定义效果;另外,没有实现setIcon,因为iphone中的对话框多数都没有图标;附件包含例子、jar包、jar包源码
    2013-01-01
  • Android随机给出加减乘除的四则运算算术题

    Android随机给出加减乘除的四则运算算术题

    这篇文章主要为大家详细介绍了Android随机给出加减乘除的四则运算算术题,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • Kotlin类型安全构建器的一次运用记录

    Kotlin类型安全构建器的一次运用记录

    这篇文章主要给大家介绍了关于Kotlin类型安全构建器的一次运用,文中通过示例代码介绍的非常详细,对大家学习或者使用Kotlin具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-06-06
  • android通过bitmap生成新图片关键性代码

    android通过bitmap生成新图片关键性代码

    android通过bitmap生成新图片具体实现如下,感兴趣的朋友可以参考下哈,希望对你有所帮助
    2013-06-06
  • 基于DownloadManager的简单下载器编写小结

    基于DownloadManager的简单下载器编写小结

    Android自带的DownloadManager是一个很好的下载文件的工具。该类在API level 9之后出现,它已经帮我们处理了下载失败、重新下载等功能,整个下载过程全部交给系统负责,不需要我们过多的处理,非常的nice。关键的是用起来也很简单,稍微封装一下就可以几句话搞定下载
    2017-12-12
  • Android仿天天动听歌曲自动滚动view

    Android仿天天动听歌曲自动滚动view

    这篇文章主要为大家详细介绍了Android仿天天动听歌曲自动滚动view的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • 总结安卓(Android)中常用的跳转工具

    总结安卓(Android)中常用的跳转工具

    在大家日常开发的时候经常会用到各式各样的跳转,如跳转到QQ、微信聊天界面、跳转到联系人界面或者跳转到浏览器和照相机等等之类的,本文将常用到的一些跳转集合到一起,这样更方便大家以后使用,有需要的小伙伴们可以参考借鉴。
    2016-08-08
  • Android编程开发之TextView文字显示和修改方法(附TextView属性介绍)

    Android编程开发之TextView文字显示和修改方法(附TextView属性介绍)

    这篇文章主要介绍了Android编程开发之TextView文字显示和修改方法,结合实例详细分析了Android中TextView控件关于文字的显示及修改技巧,并附带了TextView属性介绍,需要的朋友可以参考下
    2015-12-12
  • Android自定义View圆形进度条控件(三)

    Android自定义View圆形进度条控件(三)

    这篇文章主要为大家详细介绍了Android自定义View圆形进度条控件的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03

最新评论