// 显示Dialog dialog.show(); // 显示软键盘 SoftInputUtils.showSoftInput(activity);
// 第一种,如果软键盘在窗口上已经显示,则隐藏,反之则显示 InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); // 第二种,强制显示软键盘,view为当前的输入框对象 inputMethodManager.showSoftInput(view,InputMethodManager.SHOW_FORCED);
/**
* 发送显示Dialog的消息
*/
private void sendShowMessage() {
if (mShowMessage != null) {
// Obtain a new message so this dialog can be re-used
Message.obtain(mShowMessage).sendToTarget();
}
}
/**
* 接收显示或隐藏Dialog的消息
*/
private static final class ListenersHandler extends Handler {
private WeakReference<DialogInterface> mDialog;
public ListenersHandler(Dialog dialog) {
mDialog = new WeakReference<DialogInterface>(dialog);
}
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case DISMISS:
((OnDismissListener) msg.obj).onDismiss(mDialog.get());
break;
case CANCEL:
((OnCancelListener) msg.obj).onCancel(mDialog.get());
break;
case SHOW:
((OnShowListener) msg.obj).onShow(mDialog.get());
break;
}
}
}
new Thread() {
@Override
public void run() {
super.run();
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
SoftInputUtils.showSoftInput(activity);
}
});
}
}.start();
public class DialogUtils {
private static Dialog dialog;
/**
* Dialog提示框消失方法
*/
public static void dialogDismiss() {
if (isDialogShowing()) {
dialog.dismiss();
dialog = null;
}
}
/**
* Dialog提示框是否正在运行
*
* @return Dialog提示框是否正在运行
*/
public static boolean isDialogShowing() {
return dialog != null && dialog.isShowing();
}
/**
* 创建Dialog提示框
*
* @param context 上下文
*/
private static void createDialog(Context context) {
dialogDismiss();
dialog = new Dialog(context, R.style.SampleTheme);
dialog.setContentView(R.layout.layout_dialog);
// 点击弹窗外区域,弹窗不消失
dialog.setCanceledOnTouchOutside(false);
}
/**
* 显示确认安全码提示框
*
* @param activity 当前Activity
* @param dialogOnClickListener 确定按钮点击事件
*/
public static void showSecurityCodeInputDialog(final Activity activity,
final DialogOnClickListener dialogOnClickListener) {
createDialog(activity);
ImageView ivClose = (ImageView) dialog.findViewById(R.id.iv_close);
final GridPasswordView gpvCode = (GridPasswordView) dialog.findViewById(R.id.gpv_code);
Button btnOk = (Button) dialog.findViewById(R.id.btn_ok);
ivClose.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialogDismiss();
}
});
btnOk.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String code = gpvCode.getPassWord();
dialogOnClickListener.onClick(code);
}
});
dialog.setOnShowListener(new DialogInterface.OnShowListener() {
@Override
public void onShow(DialogInterface dialog) {
// 获取焦点
gpvCode.requestFocus();
// 显示软键盘
SoftInputUtils.showSoftInput(activity);
}
});
dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
// 隐藏软键盘
SoftInputUtils.hideSoftInput(activity);
}
});
dialog.show();
}
public interface DialogOnClickListener {
/**
* 点击事件
*
* @param str 回调参数
*/
public void onClick(String str);
}
}
public class SoftInputUtils {
/**
* 显示软键盘,Dialog使用
*
* @param activity 当前Activity
*/
public static void showSoftInput(Activity activity) {
InputMethodManager inputMethodManager =
(InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
}
/**
* 隐藏软键盘
*
* @param activity 当前Activity
*/
public static void hideSoftInput(Activity activity) {
InputMethodManager inputMethodManager =
(InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(
activity.getWindow().getDecorView().getWindowToken(), 0);
}
}
DialogUtils.showSecurityCodeInputDialog(this, new DialogUtils.DialogOnClickListener() {
@Override
public void onClick(String str) {
Toast.makeText(MainActivity.this, str, Toast.LENGTH_SHORT).show();
DialogUtils.dialogDismiss();
}
});
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有