以下实例来自雄迈提供的Android SDK。动作为点击登录按钮后弹出一个填写用户信息的对话框。
if (loginButton.getText().toString().equals("登录")) {
LinearLayout layout = new LinearLayout(DemoMainActivity.this);
layout.setOrientation(LinearLayout.VERTICAL);
final EditText ip_et = new EditText(DemoMainActivity.this);
ip_et.setHint("ip地址");
ip_et.setText(SPUtil.getInstance(this).getSettingParam("Ip", "192.168.10.1"));
final EditText port_et = new EditText(DemoMainActivity.this);
port_et.setHint("端口");
port_et.setText(SPUtil.getInstance(this).getSettingParam("Port", "34567"));
final EditText name_et = new EditText(DemoMainActivity.this);
name_et.setHint("用户名");
name_et.setText(SPUtil.getInstance(this).getSettingParam("Name", "admin"));
final EditText pwd_et = new EditText(DemoMainActivity.this);
pwd_et.setHint("密码");
pwd_et.setText(SPUtil.getInstance(this).getSettingParam("Pwd", ""));
pwd_et.setSingleLine(true);
pwd_et.setInputType(InputType.TYPE_CLASS_TEXT |
InputType.TYPE_TEXT_VARIATION_PASSWORD);
layout.addView(ip_et, new LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT));
layout.addView(port_et, new LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT));
layout.addView(name_et, new LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT));
layout.addView(pwd_et, new LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT));
new AlertDialog.Builder(DemoMainActivity.this).setTitle("输入登录信息").setView(layout)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
final String name = name_et.getText().toString().trim();
final String pwd = pwd_et.getText().toString().trim();
final String ip = ip_et.getText().toString().trim();
final String port = port_et.getText().toString().trim();
new Thread(new Runnable() {
@Override
public void run() {
onLogin(ip, port, name, pwd);
Message msg = Message.obtain();
msg.what = 3;
myHandler.sendMessageDelayed(msg, 2000);
}
}).start();
}
}).setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
}
}).create().show();
}
显示效果如下: