Android系统为我们提供了丰富的可视化用户界面组件,包括菜单、对话框、按钮、下拉列表等。Android系统借用了Java里的UI设计思想,包括事件响应机制和布局管理。Android系统中的所有UI类都是建立在View和ViewGroup这两个类的基础之上。所有的View的子类称为“Widge”,所有ViewGroup的子类称为“Layout”。View和ViewGroup之间采用了组合设计模式(Composite),可以使得“部分-整体”同等对待。ViewGroup作为布局容器类在最上层,布局容器里面又可以有View和ViewGroup。
菜单的设计在人机交互中可以说是非常人性化的,它提供了不同功能分组展示的能力。Android中菜单分为三种类型:选项菜单(Option Menu)、上下文菜单(Context Menu)和子菜单(Sub Menu)。 下面我们继续上一篇,讲解上下文菜单:
当用户长时间按键不放时,弹出的菜单时上下文菜单。我们经常在Windows中用鼠标右键单击弹出的菜单就是上下文菜单。创建过程如下:
1、覆盖Activity的onCreateContextMenu()方法,调用Menu的add方法添加菜单项(MenuItem)。
2、覆盖onContextItemSelected()方法,相应菜单单击事件。
3、调用registerForContextMenu()方法,为试图注册上下文菜单。
案例:
package com.xiaomo.ui;
import com.example.helloworld.R;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.widget.TextView;
public class Context_Menu extends Activity {
private static final int ITEM1 = Menu.FIRST;
private static final int ITEM2 = Menu.FIRST+1;
private static final int ITEM3 = Menu.FIRST+2;
private TextView myTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myTextView = (TextView)findViewById(R.id.main_text);
//注册上下文菜单
registerForContextMenu(myTextView);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
//添加菜单项
menu.add(0,ITEM1,0,"红色背景");
menu.add(0, ITEM2, 0, "绿色背景");
menu.add(0,ITEM3,0,"白色背景");
}
@Override
public boolean onContextItemSelected(MenuItem item) {
switch (item.getItemId()) {
//菜单项1被选择
case ITEM1:
//设置TextView背景色
myTextView.setBackgroundColor(Color.RED);
break;
case ITEM2:
myTextView.setBackgroundColor(Color.GREEN);
break;
case ITEM3:
myTextView.setBackgroundColor(Color.WHITE);
break;
}
return true;
}
}
出处:http://blog.csdn.net/cl05300629/article/details/17961231
作者:伫望碧落
分享到:
相关推荐
Android ContextMenu实例,为EditText文本框添加上下文菜单,菜单激活并显示的方式是,用户在EditText输入框上面长按2秒,即可弹出上下文菜单,如运行截图所示的效果,为实现此功能,创建了onCreateContextMenu ...
android中上下文菜单与上下文操作模式的简介与使用
jQuery Context Menu - jQuery上下文菜单插件
文档中包括Android实现上下文菜单、下拉菜单、选项菜单代码以及截图,亲测可用!!!
菜单是Android 系统中重要的用户接口,包括选项菜单,子菜单,上下文菜单
android studio写的选项菜单和上下文菜单,在同一个项目中了
NULL 博文链接:https://sunzone.iteye.com/blog/1998104
Android之上下文菜单ContextMenu源码
android ContextMenu 上下文菜单
为您提供Disable Context Menu Items 禁用上下文菜单项下载,Disable Context Menu Items是一款简单实用的上下文菜单管理工具软件,用户能够通过Disable Context Menu Items来限制键盘快捷方式,界面简洁直观,操作...
菜单是用户界面中最常见的元素之一,使用非常频繁,在Android中,菜单被分为如下三种,选项菜单(OptionsMenu)、上下文菜单(ContextMenu)和子菜单(SubMenu).参考博客:...
该案例包含了菜单Menu的三种菜单类型,附有对应的代码和效果图!
电子上下文菜单应用程序的上下文菜单 Electron没有内置的上下文菜单。 您应该自己处理。 但这既繁琐又难于正确。 该模块为您提供了一个不错的可扩展上下文菜单,其中包含拼写检查以及诸如文本的Cut / Copy / Paste ...
Android应用源码之ContextMenu 上下文选项菜单,长按后跳出菜单.zip
Android应用源码之ContextMenu 上下文选项菜单,长按后跳出菜单_源码
Android应用源码之ContextMenu 上下文选项菜单,长按后跳出菜单.zip项目安卓应用源码下载Android应用源码之ContextMenu 上下文选项菜单,长按后跳出菜单.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合...
创建上下文菜单
本文实例讲述了Android上下文菜单用法。分享给大家供大家参考。具体如下: 上下文菜单不同于选项菜单,选项菜单服务于Activity,而上下文菜单则是注册到某个View对象上的。 如果一个View对象注册了上下文菜单,用户...
MME UE上下文中包含了从HSS下载的用户签约数据。MME将用户签约数据存储在本地能够大大加快类似承载建立流程的执行速度。而且,MME UE上下文还包含了一些动态数据,比如终端能力(capabilities)、已经创建的Bearer...
Context用法详解