首页 > 代码库 > 在有EditText控件的AlertDialog对话框中自动弹出输入法

在有EditText控件的AlertDialog对话框中自动弹出输入法

我们先回顾一下创建AlertDialog的一般步骤。
一 inflate AlertDialog的布局文件
  例如,其中dlg就是我们的布局文件。 
  View layout = LayoutInflater.from(ctx).inflate(R.layout.dlg, null);
二 构建AlertDialog.Builder
    AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(ctx);
三 设置Dialog的一些属性
   比如多少个按钮,有无Title,如果有那么Title的文本是什么,以及还可以设置各个按钮的监听器
四 把布局设置到对话框
   dialogBuilder.setView(layout)
五 创建对话框
   AlertDialog dlg = dialogBuilder.create();
六 显示对话框
  dlg.show();

今天,我们要在对话框显示的时候,同时显示输入法。我们知道,Activity设置AndroidManifest就可以。
但是,AlertDialog需要一些特殊的处理。其基本方法就是在创建对话框之后修改AlertDialog的窗口属性。
代码如下:
  dlg.getWindow().setSoftInputMode(
                WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);

是不是很简单呢?





来自为知笔记(Wiz)


在有EditText控件的AlertDialog对话框中自动弹出输入法