Android输入法问题



关于android的几个问题:

是否可以替换默认键盘中的键?例如,是否可以将数字键盘中的点替换为逗号?

我写了一个非常简单的IME,但是我不能将它设置为EditText。我想要的是设置我的EditText之一使用我默认编写的IME,而不是默认的LatinIME。这可能吗?inputMethod属性是如何工作的?我设置了IME的完全限定类名,但它引发了class not found异常。

谢谢。

Is it possible to replace the keys in default keyboards ? 

你不。用户可以控制他们的设备,包括使用什么键盘。

但是你可以尝试使用一些输入法

阅读本教程:创建输入法

clone this repo: LatinIME

如果需要替换一个字符,可以重写edittext的文本更改监听器,检查每个输入的字符如果用户输入点,则用逗号替换

editText.addTextChangedListener(new TextWatcher(){
        public void afterTextChanged(Editable s) {
           //Check if s contains dot and replace it with comma
        }
        public void beforeTextChanged(CharSequence s, int start, int count, int after){}
        public void onTextChanged(CharSequence s, int start, int before, int count){}
    });  

但是这个方法执行EditText中的每个按键。

尝试重写此方法。返回另一个keyCode并查看结果

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == someKeyCode) {
          //...... button is pressed
        }
        return super.onKeyDown(keyCode, event);
    }

非常确定替换默认键盘中的键是不可能的,您需要编写自己的键盘替换,就像所有键盘应用程序一样。

相关内容

  • 没有找到相关文章

最新更新