我正在考虑为具有个人外观的游戏制作我自己的EditText。
当我看到我扩展Edittext类时,我必须覆盖onDraw方法并制作我自己的Canvas。
另一方面,我考虑过选择使用元素制作一个复合视图(使用已经定义的组件和使用样式和XML进行模型设计更容易设计)
我的问题是,当用户输入密钥时,IME调用的方法是什么?
因为我试图覆盖所有类似的内容,但我无法在内部进行管理。
谢谢
答案 0 :(得分:0)
您可以使用setOnEditorActionListener
。如下所示
((EditText)findViewById(R.id.editText)).setOnEditorActionListener(
new EditText.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH ||
actionId == EditorInfo.IME_ACTION_DONE ||
event.getAction() == KeyEvent.ACTION_DOWN &&
event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
onSearchAction(v);
return true;
}
return false;
}
});
答案 1 :(得分:0)
感谢pskink,我发现这个问题有关:
How to Capture soft keyboard input in a View?
它显示了如何在视图中内部创建自己的视图并捕获键盘事件。
谢谢大家!!!!