强制对话框输入以在横向上要求全屏软键盘
我有一个输入对话框,我必须自动弹出软键盘,当前代码:
final EditText input = new EditText(this);
final AlertDialog dialog = new AlertDialog.Builder(ScActivity.this)
.setMessage(message)
.setView(input).setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(input.getWindowToken(), 0);
// do positive stuff
}
}).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(input.getWindowToken(), 0);
}
}).create();
input.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,
InputMethodManager.HIDE_IMPLICIT_ONLY);
}
}
});
dialog.show();
input.requestFocus();
这工作正常,除了一种行为。 当我第一次在风景模式下显示这个窗口时,对话框跳起来,好像它试图为软键盘腾出空间,然后意识到没有足够的空间,跳下来,然后全屏时间键盘显示(与文本输入)。
它看起来像一个小故障。 不想和它一起生活。 尝试按照不同的顺序做事,按时间做事情。 在第一次之后的每一个连续时间,键盘显示在最上面,没有跳跃。 任何人都知道任何解决方法? 我只想让软键盘在顶部,全屏,横向模式下显示(人像模式有足够的空间让对话框向上移动并可以看到。
谢谢
链接地址: http://www.djcxy.com/p/93365.html上一篇: force dialog input to require fullscreen ime soft keyboard in landscape