【问题标题】:Change Input method of android device programatically android以编程方式更改android设备的输入法
【发布时间】:2011-10-17 14:00:03
【问题描述】:

我正在开发一个包含编辑文本和按钮的 android 小应用程序。仅在编辑文本不为空白后按钮才可见。由于我使用的是 LG Optimums Android 设备,每当我单击编辑文本时,因为它是 LG 设备,LG 键盘会出现,但我不想要那个键盘我想要 Android要使用的键盘。我也知道我可以进入设置=>语言和键盘,我可以更改该键盘。但我不想使用我希望它只能通过编码来完成。

感谢任何帮助.....

【问题讨论】:

    标签: android keyboard


    【解决方案1】:

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

    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();
            }
        }
    

    【讨论】:

    • 如果有根设备并且可以将应用程序安装到/system 怎么办? (虽然我没有固件证书,即无法使用与固件相同的密钥签署我的应用程序)
    • 谢谢!克里斯蒂安。我也在寻找同样的东西。
    【解决方案2】:

    I've seen 和 Android 员工 here 而言,根本不可能以编程方式更改 IME - 这完全取决于最终用户选择他们喜欢的 IME。

    【讨论】:

      【解决方案3】:

      就像保罗说你不能改变输入法;但是,您可以通过隐藏它来禁用 android 软键盘

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

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

      【讨论】:

        【解决方案4】:

        在 Button Click 上从您的应用更改键盘:

                     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();
                }
            });
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-02-13
          • 2015-04-09
          • 2011-05-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多