2011.09.23(2)——— android sample之Notepad(setDefaultKeyMode) androidsamplenotepadsetdefaultkeymode 

2011.09.23(2)——— android sample之Notepad(setDefaultKeyMode)
参考:http://blog.csdn.net/silenceburn/article/details/6069645
http://blog.csdn.net/jimhard718/article/details/6191078



setDefaultKeyMode (int mode) 用来设置一个Activity的默认的按键模式,

mode一共有五种

DEFAULT_KEYS_DISABLE
DEFAULT_KEYS_DIALER
DEFAULT_KEYS_SHORTCUT
DEFAULT_KEYS_SEARCH_LOCAL
DEFAULT_KEYS_SEARCH_GLOBAL



DEFAULT_KEYS_DISABLE 

直接丢弃,这种情况你把键盘按穿了也不会有系统理你

DEFAULT_KEYS_DIALER

将键盘事件传入拨号器进行处理,例如如下代码:

DEFAULT_KEYS_SHORTCUT:

将键盘输入作为当前窗体上注册的快捷键,进行快捷键处理,

DEFAULT_KEYS_SEARCH_LOCAL:

将键盘输入作为搜索内容,进行本地搜索,如果本地没有实现自定义搜索,则使用全局搜索

DEFAULT_KEYS_SEARCH_GLOBAL:

将键盘输入作为搜索内容,进行全局搜索


Activity提供的默认按键功能其实非常强大,可以把默认按键传入拨号、传入搜索、作为菜单快捷键等等,

在特定的应用场景下,会带来一些非常神奇和良好的用户感受。


setDefaultKeyMode(DEFAULT_KEYS_SHORTCUT);

就是打开快捷方式

我们上一篇里面menu里面 就可以用这个 为menu定义一个快捷方式
@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		System.out.println("create options menu");
		menu.add(0, MENU1, 0, "关于").setShortcut('1', 'b');
		menu.add(0, MENU2, 0, "主页");
		return super.onCreateOptionsMenu(menu);
	}



setShortcut(char numericChar, char alphaChar)

两个参数来设定两个快捷键是为了应对不同的手机键盘。
第一个参数:数字快捷键为12键键盘(0~9,*,#,共12个按键)
第二个参数:全键盘

在模拟器 起作用的是第二个参数 因为模拟器的是全键盘

这个设置快捷方式 貌似支队option menu起作用 对context menu没有作用 貌似

猜你喜欢