7-ANDROID_用户界面.pptVIP

  • 1
  • 0
  • 约2.55万字
  • 约 91页
  • 2017-07-30 发布于湖北
  • 举报
快捷菜单 快捷菜单(context menu) 快捷菜单同样采用了动态 窗体的显示方式,与子菜单的实现方式相同,但两种菜单的启动方式却截然不同 启动方式:快捷菜单类似于普通桌面程序中的“右键菜单”,当用户点击界面元素超过2秒后,将启动注册到该界面元素的快捷菜单 不支持快捷键和图标(实际支持数字快捷键) 使用方法:与使用选项菜单的方法非常相似,需要重载onCreateContextMenu()函数和onContextItemSelected()函数 onCreateContextMenu()函数主要用来添加快捷菜单所显示的标题、图标和菜单子项等内容 快捷菜单 快捷菜单重要函数 函数 功能 Activity::onCreateContextMenu() 添加快捷菜单所显示的标题、图标和菜单子项等内容 Activity::onContextItemSelected() 菜单选择事件,且该函数在每次点击菜单子项时都会被调用 Activity::registerForContextMenu 将快捷菜单注册到Activity上的控件上 ContextMenu ::SetHeaderTitle() 添加菜单标题 ContextMenu ::add() 添加菜单项 快捷菜单 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); TextView myTextView = (TextView)findViewById(R.id.textView1); registerForContextMenu(myTextView); } final static int CONTEXT_MENU_1 = Menu.FIRST; final static int CONTEXT_MENU_2 = Menu.FIRST+1; public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo){ menu.setHeaderTitle(快捷菜单标题); menu.add(0, CONTEXT_MENU_1, 0,菜单项1); menu.add(0, CONTEXT_MENU_2, 1,菜单项2); } public boolean onContextItemSelected(MenuItem item) { switch (item.getItemId()) { case CONTEXT_MENU_1: Toast.makeText(getApplicationContext(), 菜单项1, Toast.LENGTH_SHORT).show(); return true; case CONTEXT_MENU_2: Toast.makeText(getApplicationContext(), 菜单项2, Toast.LENGTH_SHORT).show(); return true; } return false; } 菜单(布局) 菜单在布局中定义 在Android系统中,菜单不仅能够在代码中定义,而且可以像界面布局一样在XML文件中进行定义 使用XML文件定义界面菜单,将代码与界面设计分类,有助于简化代码的复杂程度,并且更有利于界面的可视化 菜单(布局)实例 在/res目录下建立子目录menu,并在menu下建立context_menu.xml文件,代码如下 ?xml version=1.0 encoding=utf-8? menu xmlns:android=/apk/res/android item android:id=@+id/contextMenu1 android:title = 菜单子项1/ item android:id=@+id/contextMenu2 android:title = 菜单子项2 / item android:id=@+id/contextMenu3 android:title = 菜单子项3 / /menu 菜单(布局)实例 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceSta

文档评论(0)

1亿VIP精品文档

相关文档