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;
    }
}

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

(0)

相关推荐

  • Android Studio Menu选择菜单的建立方法

    1.在res上面右键->New->Android resource directory 2.点击之后,出现下图Resource type选择menu,名字随便起,点击ok 3.可以看到菜单栏已经出现了men 4.menu上面右击,如下图选择: 5.file name自己随便起,点击ok 6.可以看到menu文件夹下,有一个main.XML文件,main是我起的文件名 Android Studio_Menu选择菜单的建立 1.由于手机屏幕不像电脑屏幕那样有充足的空间来添加各种选项,由此需要建立一

  • android studio 的下拉菜单Spinner使用详解

    一.认识Spinner Spinner其实就是一个列表选择框.不过Android的列表选择框并不需要显示下拉列表,而是相当于弹出一个菜单供用户选择. Spinner 与 Gallery 都继承了AbsSpinner,AbsSpinner 继承了AdapterView,因此它也表现出AdapterView的特征:只要为AdapterView提供Adapter即可. 1.相关属性 android:dropDownHorizontalOffset:设置列表框的水平偏移距离 android:dropDo

  • 详解AndroidStudio中代码重构菜单Refactor功能

    代码重构几乎是每个程序员在软件开发中必须要不断去做的事情,以此来不断提高代码的质量.Android Stido(以下简称AS)以其强大的功能,成为当下Android开发工程师最受欢迎的开发工具,也是Android官方推荐使用的工具.如此优秀的工具,自然少不了要在代码重构这件事情上好好表现一把了.本文将通过代码演示,功能截图来详细介绍AS为代码重构提供的各项功能. 在AS的主菜单栏中有一项"Refactor"下拉菜单,点击该下拉菜单,会看到如下的界面,菜单中的每一项,都是为代码重构提供的

  • Android Studio使用ViewPager+Fragment实现滑动菜单Tab效果

    本文为大家分享了Android Studio实现滑动菜单Tab效果的具体代码,供大家参考,具体内容如下 描述: 之前有做过一个记账本APP,拿来练手的,做的很简单,是用Eclipse开发的: 最近想把这个APP重新完善一下,添加了一些新的功能,并选用Android Studio来开发: APP已经完善了一部分,现在就想把已经做好的功能整理一下,记录下来. 效果图: 可以手动滑动菜单 也可以通过点击头部菜单进行切换 具体实现的代码: 前台代码(activity_main.xml): <?xml v

  • Android studio实现菜单操作

    本文实例为大家分享了Android studio实现菜单操作的具体代码,供大家参考,具体内容如下 要求: 1.设置"打开"."关闭"和"退出"三个菜单项的菜单. 2.当单击"打开"菜单项时,使用Log.i显示"文件已打开" 3.当单击"关闭"菜单项时,使用Log.i显示"文件已关闭" 4.当单击"打开"菜单项时,使用Toast显示"确定要

  • Android studio实现菜单效果

    本文实例为大家分享了Android studio实现菜单效果的具体代码,供大家参考,具体内容如下 一.onCreateOptionsMenu() 首先在res目录下新建一个menu文件夹,右击res目录→New→ Directory,输入文件夹名字menu(随意),点击OK,接着在menu文件夹下面新建一个main的菜单文件.点击menu文件夹new→menu resource file. activity.xml文件代码不需要改动. MainActivity.java 文件代码: packag

  • 浅谈Android Studio导出javadoc文档操作及问题的解决

    1.在Android studio中进行打开一个项目的文件之后,然后进行点击Android stuio中菜单中的"tools"的选项.在弹出了下拉菜单中,进行选中下拉菜单中的"Generate JavaDoc"的选项. 2.在弹出界面中 Output directory是你即将生产的javadoc文件的存储位置,图中1指示的位置:正常点击ok即可: 但是如果有异常情况 比如空指针异常或者文档乱码 java.lang.NullPointerException 或者 j

  • Android菜单操作之创建并响应菜单

    上一篇<学习理解Android菜单Menu操作>简单介绍了一下Android的菜单,今天让我们看一下如何通过代码创建和响应最常用的选项菜单(options menu). 一.创建options menu 之前提到,Android的activity已经为我们提前创建好了android.view.Menu对象,并提供了回调方法onCreateOptionsMenu(Menu menu)供我们初始化菜单的内容.该方法只会在选项菜单第一次显示的时候被执行,如果你需要动态改变选项菜单的内容,请使用 on

  • Android Studio实现第三方QQ登录操作代码

    来看看效果图吧     http://wiki.open.qq.com/wiki/mobile/SDK%E4%B8%8B%E8%BD%BD 下载SDKJar包 接下来就可以 实现QQ登录了, 新建一个项目工程 ,然后把我们刚才下载的SDK解压将jar文件夹中的jar包拷贝到我们的项目libs中 导入一个下面架包就可以 项目结构如下 打开我们的清单文件Androidmanifest 在里面加入权限和注册Activity 如下 <?xml version="1.0" encoding

  • Android studio 连接手机调试操作步骤

    最近正在研究AS在使用手机调试时遇到了一点问题始终找不到设备,在网上找了很多帖子说的都不太对路,下面根据我自己操作的实际经验,总结一下我的操作方法: 1.我假设你已经搞定了前面gradle和build(前面配置各种包的版本问题,也是很恶心的). 2.打开SDK  Manager,如下图图所示,有两种方法. 3.进入界面后如下图选择勾选"Google USB drive"点击"apply"进行安装.(我的已经安装完成). 4.还是在这个界面,选择自己手机的Androi

  • Android Studio自定义万能注释模板与创建类,方法注释模板操作

    代码的注释是我们平时必须面对的问题,今天我们就来看看如何自定义属于自己的注释模板.提高我们的开发效率. 这里,我们讲解两种自定义模板. 1.新建的类自动生成的注释: 2.自定义注释模板. 新建类自动生成的注释 1.打开相应的设置: File–>Settings–>Editor–>File and code Template. 选择Files中的Class 在上面添加你想要添加的注释: 下面有一些变量可以选择: {USER} :表示你系统名字: {DATE}: 表示当前时间: {NAME}

  • android studio集成极光推送的操作步骤

    之前使用的是小米推送,感觉还不错,集成简单,这次使用极光推送,看文档,很多用不到的东西看的好乱,所以这次记录: 第一.在极光配置信息,我是因为iso先创建应用了,我直接配置自己的信息就行,就填写一个包名. 第二.build.gradle文件的配置: android { ...... defaultConfig { ........ manifestPlaceholders = [ JPUSH_PKGNAME : "应用包名",//JPush上注册的包名 JPUSH_APPKEY : &

  • 修改Android Studio 的 Logcat 缓冲区大小操作

    找到 Android Studio的安装目录\bin\idea.properties 文件 将文件中的idea.cycle.buffer.size=1024 改成 例如: idea.cycle.buffer.size=102400 另一个设置方式是: 补充知识:logcat 设置缓存区 设置buff logcat 的buff 有2种分配方式,一种是在kernel的,一种是logd, MM用的是在logd的这种的 system/core/liblog/Android.mk ifneq ($(TAR

随机推荐