菜单实现对话框
来源:互联网 发布:中国网络空间安全协会 编辑:程序博客网 时间:2024/05/20 07:13
@Override
public void onClick(View v) {
v.showContextMenu();//单击直接显示Context菜单
}
<----
也可以通过为某一个按键注册上下文菜单,
例如Button button
为button注册上下文菜单
registerForContextMenu(button);需要常按才能跳出上下文菜单
---->
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
getMenuInflater().inflate(R.menu.em_remove_from_blacklist, menu);
//MenuInflater menuInflater=new MenuInflater(this);
//menuInflater.inflate(R.menu.em_remove_from_blacklist, menu);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
if (item.getItemId() == R.id.remove) {
final String tobeRemoveUser = adapter.getItem(((AdapterContextMenuInfo) item.getMenuInfo()).position);
// remove user out from blacklist
removeOutBlacklist(tobeRemoveUser);
return true;
}
return super.onContextItemSelected(item);
}
em_remove_from_blacklist文件 位置:res-->menu--->em_remove_from_blacklist
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<!----
单一菜单
--->
<item
android:id="@+id/remove"
android:title="@string/move_out_backlist"/>
</menu>
<!----
群组菜单
可以有single、none、all(多选)
--->
<group android:checkableBehavior="single"
<!---定义多个菜单项--->
<item
android:id="@+id/font_10"
android:title="@string/font_10"/>
<item
android:id="@+id/font_12"
android:title="@string/font_12"/>
使用系统的菜单,不需要写XML文件
为某个按键注册上下文菜单 registerForContextMenu(button); button是你定义的一个Button
重写函数
@Override
public void onCreateContextMenu(ContextMenu menu, View source, ContextMenu.ContextMenuInfo menuInfo)
{
menu.add(0,MENU1,0,"红色");//MENU1为宏定义
menu.add(0,MENU2,0,"绿色");
menu.add(0,MENU3,0,"蓝色");
menu.setGoupCheckable(0,true,true); //将三个菜单设置为单选菜单,其中0为群组号
//设置上下文菜单的标题,图标
menu.setHeaderIcon(R.drawable.tools);
menu.setHeaderTitle("选择背景色");
<!--
可以设置多个
-->
}
//上下文菜单的菜单项被单击时触发该方法
@Overide
public boolean onContextIntemSelected(MenuItem mi)
{
switch(mi.getItemId())
{
case MENU1:
m1.setChecked(true);//设置该菜单可选
}
}
选项菜单
重写
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
<!---
可以设置多个subMenu
SubMenu subMenuOne= menu.addSubMenu("字体大小");
subMenuOne.add(0,FONT_10,0,"10号字体");
subMenuOne.add(0,FONT_11,0,"11号字体");
SubMenu subMenuTwo= menu.addSubMenu("字体颜色");
subMenuOne.add(0,RED,0,"红色");
subMenuOne.add(0,BULE,0,"绿色");
绑定Activity
subMenuOne.setIntent(new Intent(this,OntherActivity.class));
--->
}
@public boolean onOptionsItemSelected(MenuItem mi)
使用PopupMenu
PopupMenu pupup=new PopupMenu(this,button);
getMenuInflater().inflate(R.menu.popup_menu,pupup.getMenu());
popup.setOnMenuItemClickLister( new PopupMenu.OnMenuItemClickListener(MenuItem item)
{
});
popup.show();
0 0
- 菜单实现对话框
- 基于对话框实现上拉菜单
- 如何实现vc菜单弹出对话框
- Android实现新浪微博中的分组菜单对话框
- 用Qt Creator实现Qt对话框上的菜单
- 对话框弹出右键菜单
- 对话框上加菜单
- skinmagic 对话框菜单展示
- 对话框的菜单 ON_UPDATE_COMMAND_UI
- 对话框添加菜单
- MFC 对话框加载菜单
- Android 菜单和对话框
- MFC----对话框和菜单
- VS2010 对话框添加菜单
- 对话框的菜单操作
- 对话框添加菜单
- mfc 对话框添加菜单
- mfc 对话框添加菜单
- 简单的推荐系统搭建--Python(pearson,欧几里得相似度)
- pywin32下载链接及安装报错问题解决链接
- SSH框架之Hibernate的一对一映射
- 约瑟夫环
- sublime常用快捷键
- 菜单实现对话框
- 微机接口技术实验三测试微机系统串行口
- C# 多线程、异步编程与并发服务器
- 代码敲累了就来写《创业计划书》吧
- LeetCode 3.Longest Substring Without Repeating Characters
- [读书笔记]程序员的自我修养 chp13 一个简单的CRT 运行库实现
- 在windows下配置R-CNN detection selective_search_ijcv_with_python目标检测
- 基于bootstrap的文件上传控件-bootstrap-fileinput
- Zookeeper(一)分布式事务