1. 关于 DEFAULT_KEYS_SHORTCUT 的 API文档介绍
Use with setDefaultKeyMode (int) to execute a menu shortcut in default key handling.
That is, the user does not need to hold down the menu key to execute menu shortcuts.
从字面上看,其含义是指,将默认的按键 输入作为菜单快捷键进行处理。
也就是说,用户不需要按下menu按键,就可以处理菜单快捷键,听起 来非常神奇,究竟是不是这样呢?
2.编写示例程序
我们编写一个程序验证一下其功能,首先新建一 个工程,并设置默认按键模式为 DEFAULT_KEYS_SHORTCUT
package com.silenceburn; import android.app.Activity; import android.os.Bundle; public class MenuShortCutTester extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); setDefaultKeyMode(DEFAULT_KEYS_SHORTCUT); } }
为默认的main.xml中的TextView增加一个id属性,之后我们会用菜单选项控制这行字的颜色
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/myText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> </LinearLayout>
使用findViewById获取上一步中定义了id的文本对象,将其引用保存在成员 变量b中。
重写onPrepareOptionsMenu方法,增加我们自己的菜单项,并注册快捷键,同时增加菜单点 击的响应事件。
package com.silenceburn; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.MenuItem.OnMenuItemClickListener; import android.widget.TextView; public class MenuShortCutTester extends Activity { /** Called when the activity is first created. */ TextView b; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); b = (TextView) this.findViewById(R.id.myText); setDefaultKeyMode(DEFAULT_KEYS_SHORTCUT); } @Override public boolean onPrepareOptionsMenu(Menu menu) { // TODO Auto-generated method stub super.onPrepareOptionsMenu(menu); menu.removeItem(0); menu.removeItem(1); menu.add( 0, 0, 0, "One").setShortcut('0', '0').setOnMenuItemClickListener(new OnMenuItemClickListener(){ @Override public boolean onMenuItemClick(MenuItem item) { // TODO Auto-generated method stub b.setBackgroundColor(android.graphics.Color.RED); return true; }}); menu.add( 0, 1, 0, "Two").setShortcut('1', '1').setOnMenuItemClickListener(new OnMenuItemClickListener(){ @Override public boolean onMenuItemClick(MenuItem item) { // TODO Auto-generated method stub b.setBackgroundColor(android.graphics.Color.GREEN); return true; }}); return true; } }
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索android
, menu
, android bundle
, import
, override
, public
, shortcut
, savedinstancestate
, android快捷键
, menu按键
, Android响应菜单
android中menu
c shortcutkeys、default checked keys、android shortcut、android 7.1 shortcut、shortcut android7,以便于您获取更多的相关知识。