Android:如何防止在按导航键时更改焦点?
|
出于某些特殊原因,我必须独自处理所有焦点。
在仿真器中,分配了“ 0”和“ 1”来移动焦点。为了正确起见,我的原型如下
public class Button extends android.widget.Button {
public Button(Context context) {
super(context);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (isPreventSystemBehavior(keyCode)) {
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (isPreventSystemBehavior(keyCode)) {
return true;
}
return super.onKeyUp(keyCode, event);
}
private boolean isPreventSystemBehavior(int keyCode) {
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_DOWN:
case KeyEvent.KEYCODE_DPAD_UP:
case KeyEvent.KEYCODE_DPAD_LEFT:
case KeyEvent.KEYCODE_DPAD_RIGHT:
return true;
}
return false;
}
}
有效。但是对于EditText
情况,,4ѭ不应停止。然后,我必须让每个视图/小部件实现自己的onKeyDown / Up,这很繁琐。
有没有更简单的方法可以做到这一点?
谢谢。
没有找到相关结果
已邀请:
1 个回复
课刊灭似
只需覆盖ScrollView :: executeKeyEvent并返回true