Android 上下文菜单 悬浮式

可以在每个View控件上注册一个长按点击事件,触发弹出一个悬浮的菜单,也成为上下文菜单

菜单视图部分 xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item android:title="登录"
        android:id="@+id/login"
        />
    <item android:title="注册"
        android:id="@+id/register"
        />

</menu>

菜单逻辑代码 java

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        registerForContextMenu(findViewById(R.id.btn));
    }

    @Override
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
        getMenuInflater().inflate(R.menu.first, menu);
    }

    @Override
    public boolean onContextItemSelected(@NonNull MenuItem item) {

        switch (item.getItemId()) {
            case R.id.login:
                Toast.makeText(this, "你刚刚点了登录", Toast.LENGTH_LONG).show();
                break;
            case R.id.register:
                Toast.makeText(this, "你刚刚点了注册", Toast.LENGTH_LONG).show();
                break;
        }

        return true;
    }
}

原文地址:https://www.cnblogs.com/esrevinud/p/12112945.html

时间: 2024-10-11 04:04:46

Android 上下文菜单 悬浮式的相关文章

android 上下文菜单详解

本文使用xml来创建上下文菜单 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/add" android:title="添加" android:orderInCategor

Android上下文菜单

package com.bawei.d4; import java.util.ArrayList;import java.util.List; import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.view.ContextMenu;import android.view.Menu;import android.view.MenuItem;import an

Android上下文菜单ContentView详解

ContentView介绍 上下文菜单继承了android.view.Menu,因此我们可以像操作Options Menu那样给上下文菜单增加菜单项.上下文菜单与Options Menu最大的不同在于,Options Menu的拥有者是Activity,而上下文菜单的拥有者是Activity中的View.每个Activity有且只有一个Options Menu,它为整个Activity服务.而一个Activity往往有多个View,并不是每个View都有上下文菜单,这就需要我们显示地通过 reg

Android 上下文菜单实现

1.覆盖Activity的onCreateContenxtMenu()方法,调用Menu的add方法添加菜单项(MenuItem). 2.覆盖Activity的onContextItemSelected()方法,响应上下文菜单菜单项的单击事件. 3.调用registerForContextMenu()方法,为视图注册上下文菜单. JAVA代码: packageEOE.local.contextMenu; importandroid.app.ListActivity; importandroid.

Android 上下文菜单(Context Menu)

一.概述 Android中,上下文菜单是通过onLongClick(...)事件访问的.在事件触发后显示菜单项. 在使用上下文菜单时,通常在onCreate(...)方法中,先行注册上下文菜单.在实现onCreateContextMenu(...)方法和onContextItemSelected(...)方法. 注册菜单方法:registerForContextMenu(...) 注销注册菜单方法:unregisterForContextMenu(...) 二.使用XML文件添加上下文菜单 te

Android:WebView中对图片注册上下文菜单

前言 今天一朋友问我一个问题,就是如何在WebView控件中的图片增加上下文菜单,以便增加保存图片等功能.今天就给他简单做了一个演示Demo,现写下来,给有相同问题的朋友提供些许思路吧. 概要实现 其实这个功能很简单,没有太复杂的东西,就是对WebView的控件的使用,一是给WebView注册了上下文菜单事件,二是在响应事件中去判断事件源的类型,如果是图片类型,则把url取出来 注册上下文菜单事件 这个就比较简单了通过下面的代码即可完成. WebView vw = (WebView) findV

上下文菜单和Contextual Action Mode(学习Android Programming The Big Nerd Ranch Guide)

在Android Programming The Big Nerd Ranch Guide书中,讲解上下文菜单的实现,添加一个删除菜单. 在Honeycomb发布前的设备里,上下文的action都是以悬浮的上下文菜单形式呈现.在之后的设备里,推荐用上下文的action bar的方式去呈现上下文的action.上下文的action bar展现在一个activity的顶部. 运行在Honeycomb之前版本的程序,有些也会出现上下文action bar.那是因为它使用了第三方库,这个库名字是Acti

Android进阶(二十八)上下文菜单ContextMenu使用案例

上下文菜单ContextMenu使用案例 前言 回顾之前的应用程序,发现之前创建的选项菜单无法显示了.按照正常逻辑来说,左图中在"商品信息"一栏中应该存在选项菜单,用户可进行分享等操作,但是现在此操作莫名其妙的消失了.写了个测试Demo,如中图所示,一切按照逻辑显示正常.怪就怪在项目中无法显示,起初设想是因为Android系统版本太高问题,但是在别的手机上测试之后发现问题依旧存在.难道是因为顶部Tab标题栏遮挡住了选项菜单的显示?继续测试,通过在别的没有Tab标题栏的页面测试选项菜单,

Android开发长按菜单上下文菜单

安卓开发中长按弹出菜单的创建方法: 1.首先给View注册上下文菜单registerForContextMenu(); 2.添加上下文菜单内容onCreateContextMenu(): ---可以通过代码动态添加: ---可以加载xml文件中的菜单项: 3.设置菜单点击后响应事件onContextItemSelected(); 运行效果图如下: activity_main.xml代码如下: <RelativeLayout android:layout_width="match_paren