欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-15 14:43:40
...
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没有作用 貌似