我在webview中显示网页内容,我想禁用Android键盘的全4箭头键。任何想法?
编辑:
public boolean onKeyDown(int keyCode, KeyEvent event) {
int a;
Log.d("yourTag",""+event.getAction());
System.out.println(a=event.getAction());
System.out.println(keyCode);
if(event.getAction()==20){
return true;
}
else if(event.getAction()==21){
return true;
}
else if(event.getAction()==22){
return true;
}
else{
return true;
}
}
滚动仍然在那里,但后退键和菜单键被禁用为什么?我注意到如果内容滚动,它什么也不返回。一旦滚动结束它(log.d消息)返回0.
答案 0 :(得分:1)
你可以在onkeydown中捕获它们吗?
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(event.getAction() == /*INSERT YOUR KEY*/){
//do something with the arrows. or ignore them
//return true or false depending on if you want to "catch" the event i guess
}else{
return super.onKeyDown(keyCode, event);
}
}
你只需要找到箭头键的代码,这不应该是难的。您甚至可以只记录您的event.getAction()
,然后按下它们,找出它们的名称......
我真的不知道你在使用调试代码做了什么,但请查看以下链接:http://developer.android.com/reference/android/view/KeyEvent.html了解关键事件。事件是整数。为什么不在调试中添加它:
public boolean onKeyDown(int keyCode, KeyEvent event) {
Log.d("yourTag",""+event.getAction());
}
看看有什么回复?我的猜测是DPAD个键之一,例如left(21)是你的目标