扩展Edittext以更改外观

时间:2014-04-16 07:40:48

标签: android android-edittext extending

我正在考虑为具有个人外观的游戏制作我自己的EditText。

当我看到我扩展Edittext类时,我必须覆盖onDraw方法并制作我自己的Canvas。

另一方面,我考虑过选择使用元素制作一个复合视图(使用已经定义的组件和使用样式和XML进行模型设计更容易设计)

我的问题是,当用户输入密钥时,IME调用的方法是什么?

因为我试图覆盖所有类似的内容,但我无法在内部进行管理。

谢谢

2 个答案:

答案 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?

它显示了如何在视图中内部创建自己的视图并捕获键盘事件。

谢谢大家!!!!