【发布时间】:2011-10-17 14:00:03
【问题描述】:
我正在开发一个包含编辑文本和按钮的 android 小应用程序。仅在编辑文本不为空白后按钮才可见。由于我使用的是 LG Optimums Android 设备,每当我单击编辑文本时,因为它是 LG 设备,LG 键盘会出现,但我不想要那个键盘我想要 Android要使用的键盘。我也知道我可以进入设置=>语言和键盘,我可以更改该键盘。但我不想使用我希望它只能通过编码来完成。
感谢任何帮助.....
【问题讨论】:
我正在开发一个包含编辑文本和按钮的 android 小应用程序。仅在编辑文本不为空白后按钮才可见。由于我使用的是 LG Optimums Android 设备,每当我单击编辑文本时,因为它是 LG 设备,LG 键盘会出现,但我不想要那个键盘我想要 Android要使用的键盘。我也知道我可以进入设置=>语言和键盘,我可以更改该键盘。但我不想使用我希望它只能通过编码来完成。
感谢任何帮助.....
【问题讨论】:
无法以编程方式更改用户的键盘设置。您唯一能做的就是建议用户更改它并帮助它这样做。例如,这将显示一个对话框供他们更改键盘:
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 怎么办? (虽然我没有固件证书,即无法使用与固件相同的密钥签署我的应用程序)
就像保罗说你不能改变输入法;但是,您可以通过隐藏它来禁用 android 软键盘
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
然后创建一个类似于 android 软键盘的视图。 Check this out.
【讨论】:
在 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();
}
});
【讨论】: