以编程方式更改android设备的输入法

时间:2011-08-01 15:58:49

标签: android keyboard

我在android中开发了一个小应用程序,它包含一个Edit Text&按钮。只有在编辑文本不是空白之后,按钮才会显示。因为我有LG Optimums Android设备,每当我点击编辑文本,因为它LG设备,LG键盘将出现但我不想要键盘我想要Android键盘使用。我也知道我可以进入Setting => Language&键盘和键盘我可以改变那个键盘。但我不想使用它,我希望它只能通过编码来完成。

Thanx任何帮助.....

4 个答案:

答案 0 :(得分:15)

无法以编程方式更改用户的键盘设置。您唯一能做的就是建议用户更改它并帮助它这样做。例如,这将显示一个对话框,供他们更改键盘:

private void showInputMethodPicker() {
        InputMethodManager imeManager = (InputMethodManager) getApplicationContext().getSystemService(INPUT_METHOD_SERVICE); 
        if (imeManager != null) {
            imeManager.showInputMethodPicker();
        } else {
            Toast.makeText(this, R.string.not_possible_im_picker, Toast.LENGTH_LONG).show();
        }
    }

答案 1 :(得分:2)

I've seen和Android员工here而言,根本不可能以编程方式更改IME - 完全依赖最终用户来选择他们喜欢的IME。< / p>

答案 2 :(得分:2)

保罗说,你不能改变IME;但是,你可以通过隐藏它来禁用android软键盘

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

然后创建一个类似于android软键盘的视图。 Check this out.

答案 3 :(得分:0)

按钮上的应用更改键盘点击:

             Button keyboard = (Button) findViewById(R.id.keyboardChange);
    keyboard.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view)
        {  InputMethodManager imeManager = (InputMethodManager) getApplicationContext().getSystemService(INPUT_METHOD_SERVICE);
            imeManager.showInputMethodPicker();
        }
    });