菜单是用户界面中最常见的元素之一,使用非常频繁,在Android中,菜单被分为如下三种,选项菜单(OptionsMenu).上下文菜单(ContextMenu)和子菜单(SubMenu). 菜单的实现方式有2种:一种是通过布局文件xml生成菜单,另一种是通过代码生成. 三种菜单内容有点多,不过大体相似,一次性讲完吧,本人偏好代码动态生成,下面就以代码为例. 1.选项菜单(OptionsMenu) 先来看下选项菜单的效果图:   在一个Activity界面中点击手机Menu键,在屏幕下方弹出的菜单…
所谓上下文菜单就是当我们长按某一个文件时弹出的菜单 操作这个菜单我们要重写onCreateContextMenu()方法 如上一篇文章一样,对于这个菜单中选型的操作也有动态添加和xml文件添加两种方法 首先是动态添加 @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v…
1.activity_main.xml 描述: 定义了一个TextView和三个按钮 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/activity_main" android:layout_widt…
Android Dialog中的listview创建上下文菜单 listView.setOnCreateContextMenuListener(new OnCreateContextMenuListener() { public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { menu.add(0, 0, 0, "天天"); menu.add(0, 1, 0, "人人…
MainActivity.class public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); showlistView(); } private void showlis…
布局文件main_activity.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="…
之前在<Android菜单详解(二)——创建并响应选项菜单>和<Android菜单详解(三)——SubMenu和IconMenu>中详细讲解了选项菜单,子菜单和图标菜单.今天接着细说另一种被广泛使用的菜单——上下文菜单Context Menu. ContextMenu简介 在Windows中,我们已经习惯了在文件上单击右键来执行“打开”.“重名名”.“剪切”.“删除”等操作,这个右键弹出的菜单就是上下文菜单.你可能会笑道:“哈哈,你不会连快捷键都不会用吧?”.咳咳,这个...举个例…
菜单的概念,现在已经很普及了.Windows系统.Mac.桌面版Linux.Java Swing等,都有可视化菜单.一.Android平台3种菜单  选项菜单(OptionMenu).上下文菜单(ContextMenu).子菜单(SubMenu). 1.Option Menu 一般手机上都会提供Menu的按钮,对应的就是这个菜单弹出. 主要步骤就是复写Activity父类中的onCreateOptionMenu(Menu menu)方法,然后通过Menu的add方法来添加菜单进去,最后,当我们去…
长下文菜单,即长按view显示一个菜单栏 与OptionMenu的区别OptionMenu对应的是activity,一个activity只能拥有一个选项菜单ContextMenu对应的是View,每个View都可以设置上下文菜单一般情况下ContextMenu常用语ListView或者GridView; 创建和响应上下文菜单过程: 1.在activity的onCreate(...)方法中为一个view注册上下文菜单 2.在onCreateContextMenuInfo(...)中生成上下文菜单.…
android中的上下文菜单类似于PC上的鼠标右键单击,不同的是android上没有鼠标这一概念,更谈不上右键单击,在android中,一般是长按某个View,调出上下文菜单.与OptionsMenu不同的是,ContextMenu是一个针对View的菜单,它绑定在某一个View上,而OptionsMenu是属于一个Activity的. 现在大部分浏览器都有长按复制的功能,如下图: 这种效果的实现是使用PopupWindow来实现的(关于PopupWindow的使用可以参见我的另一篇文章popu…
菜单在桌面应用程序中使用非常广泛,由于手机屏幕的制约,菜单在手机应用中减少不少. android应用中的菜单默认是不可见的,只有当用户单击手机上“Menu”键时,系统才会显示该应用关联的采用项. android应用同样支持上下文菜单(ContentMenu),用户一直按住某个应用的界面时,该应用所关联上下文菜单就会显示出来. 选项菜单和子菜单SubMenu  注意:android系统默认做到只有6个菜单位,超过6个菜单,系统将会在第6个菜单位显示“更多”. android系统的菜单支持主要通过4…
Android子菜单和选项菜单与上下文菜单的实现 菜单在Android开发中必不可少,可是要怎么实现各种菜单呢?是不是很头疼呢?下面我就来介绍一下: 1. 选项菜单和子菜单的实现 选项菜单:最常规的菜单,Android中把它叫做option menu.选项菜单最多只能显示6个菜单项,超过6个时,第6个菜单项会被系统替换为一个叫“更多”的子菜单,原来显示不下的菜单项都作为“更多”菜单的子菜单项. 子菜单:Android中点击了子菜单将弹出悬浮窗口显示子菜单项.子菜单不支持嵌套,即子菜单中不能再包括…
实现选项菜单.上下文菜单,以及菜单内部的子菜单. 视图效果: MainActivity 选项菜单 选项菜单的子菜单 上下文菜单(按住按钮或者EditText弹出) 注意:上下文菜单如何弹出?在注册该菜单的视图上按住一段时间后就会弹出菜单. MainActivity.java package com.evor.test; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.Ac…
在桌面系统中,别说是开发者,相信有资格考得过计算机一级的人都知道什么叫一下文菜单,或者叫右键菜单. 为了让操作更方便,在手机应用程序中,也应当有这样的菜单.上下文菜单之所以有”上下文“之说,是因为通常它是与用户正在操作的对象有关联,比如,在文本输入框中选定一段文字,然后通过上下文菜单来设置选定文本的格式,菜单所操作的对象就是这些被选中的文本. 在新的RT API中,有一个MenuFlyout类(从FlyoutBase派生,专用于一些弹出的浮动控件,菜单也是一种弹出控件),可以用它来创建上下文菜单…
QWidget类是Qt中所有可视化部件的基类,其很多函数都是虚函数,能被子类重写以表现不同形式和功能,今天来学习一下QWdiget的事件处理函数. 事件是鼠标.键盘或系统因其自身某些状态发生改变而引起的,根据不同的发生源分为鼠标事件,键盘事件和系统事件.而发生源的不同状态发生改变又引起不同事件的发生,如鼠标左键单击事件,双击事件,右键单击双击事件等. 在python中,不同的事件都有相应的类对其进行描述.这些类一般通过参数,都描述了事件的各种状态,如鼠标事件QMouseEvent在初始化过程中就…
package com.example.fragmentNavigation2.fragment; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.*; import android.widget.Button; import android.widget.Toast; import com.example.fragmentNavigation2.R; public cla…
上下文菜单ContextMenu使用案例 前言 回顾之前的应用程序,发现之前创建的选项菜单无法显示了.按照正常逻辑来说,左图中在"商品信息"一栏中应该存在选项菜单,用户可进行分享等操作,但是现在此操作莫名其妙的消失了.写了个测试Demo,如中图所示,一切按照逻辑显示正常.怪就怪在项目中无法显示,起初设想是因为Android系统版本太高问题,但是在别的手机上测试之后发现问题依旧存在.难道是因为顶部Tab标题栏遮挡住了选项菜单的显示?继续测试,通过在别的没有Tab标题栏的页面测试选项菜单,…
public class MainActivity extends Activity { private ListView listView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = (ListView) this.findViewById…
一. ContextMenu的组成 标题以及标题图标 菜单内容 菜单内容的点击事件 二. ContextMenu与OptionMenu的区别 OptionMenu对应的是activity,一个activity只能拥有一个选项菜单 ContextMenu对应的是View,每个View都可以设置上下文菜单 一般情况下ContextMenu常用于ListView或者GridView 三. ContextMenu创建方法 .首先给View注册上下文菜单registerForContexMenu() .添…
XML: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"   …
概述: Android 的上下文菜单类似于 PC 上的右键菜单.当为一个视图注册了上下文菜单之后,长按(2 秒左右)这个视图对象就会弹出一个浮动菜单,即上下文菜单.任何视图都可以注册上下文菜单,不过,最常见的是用于列表视图ListView的item. 注意:Android 的上下文菜单不支持图标或快捷键. 创建一个上下文菜单的步骤: 1. 覆盖 Activity 的 onCreateContenxtMenu() 方法,调用 Menu 的 add 方法添加菜单项(MenuItem). 2. 覆盖…
1.覆盖Activity的onCreateContenxtMenu()方法,调用Menu的add方法添加菜单项(MenuItem). 2.覆盖Activity的onContextItemSelected()方法,响应上下文菜单菜单项的单击事件. 3.调用registerForContextMenu()方法,为视图注册上下文菜单. JAVA代码: packageEOE.local.contextMenu; importandroid.app.ListActivity; importandroid.…
本文使用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…
ContentView介绍 上下文菜单继承了android.view.Menu,因此我们可以像操作Options Menu那样给上下文菜单增加菜单项.上下文菜单与Options Menu最大的不同在于,Options Menu的拥有者是Activity,而上下文菜单的拥有者是Activity中的View.每个Activity有且只有一个Options Menu,它为整个Activity服务.而一个Activity往往有多个View,并不是每个View都有上下文菜单,这就需要我们显示地通过 reg…
ContextMenu 上下文菜单 在res下的menu里写菜单项 在逻辑代码中 写OnCreateContextMenu() 方法 将菜单项添加到菜单 对菜单项进行监听 onContextItemSelected() //获取ListView 当前item的下标 AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo; 4,note:registerForContextMenu(tv);进行注册上下文菜单给控件 图标不显示…
上下文菜单一般是真针对ListView(多条数据的操作) 需求:在ListView中显示通话记录的电话号码,长按显示的上下文菜单为复制号码到拨号盘.发送信息.复制号码,与之相对应的事件. 布局代码: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height=&…
一.上下问菜单 在某个菜单项上长按,会弹出一个菜单,这个就是上下文菜单.有点类似与Windows系统中的右键菜单. 二.上下文菜单的内容 1.标题 2.图标 3.菜单项 4.对应的菜单事件 三.OptionsMenu和ContentMenu的区别: 1.OptionMenu对应的Activity,一个Activity只能拥有一个选项菜单. 2. ContentMenu对应的View,每个View都可以设置上下文菜单. 3.一般情况下,上下文菜单常用于ListView或者GirdView. 四.如…
在android3.0以后,安卓设备不在提供物理的菜单按键,同时,android应用提供了另外的菜单实现机制,来替代之前的菜单创建方式.安卓设备中,平常可以使用长按住某个内容弹出菜单选项.这就是我们需要学习的Contextual Menu上下文菜单. API中介绍了2中上下文菜单的创建: 1.漂浮型的上下文菜单 2.顶部的上下文菜单 着重介绍漂浮型的上下文菜单,引用原生的android官方文档: Creating a floating context menu To provide a floa…
安卓开发中长按弹出菜单的创建方法: 1.首先给View注册上下文菜单registerForContextMenu(); 2.添加上下文菜单内容onCreateContextMenu(): ---可以通过代码动态添加: ---可以加载xml文件中的菜单项: 3.设置菜单点击后响应事件onContextItemSelected(); 运行效果图如下: activity_main.xml代码如下: <RelativeLayout xmlns:android="http://schemas.and…
说到PopupWindow,我个人感觉是又爱又恨,没有深入使用之前总觉得这个东西应该很简单,很好用,但是真正使用PopupWindow实现一些效果的时候总会遇到一些问题,但是即便是人家的api有问题,作为程序员也没有办法,只能去想办法去补救. 下面是我在使用过程中发现的关于PopupWindow的几个痛点: 痛点一:不设置背景就不能响应返回键和点击外部消失的,这个我已经有一篇文章进行分析过http://www.cnblogs.com/popfisher/p/5608717.html,这个我认为就…