Android在dialog中如何隐藏输入法
2015-12-03 18:10
609 查看
如果是在正常的情况下我们都会这样去隐藏输入法
public static void showInputKeyboard(Context context , View view){
if (null != view){
InputMethodManager inputMethodManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.showSoftInput(view, InputMethodManager.SHOW_FORCED);
}
}
public static void hideInputKeyboard(Context context , View view){
if (null != view){
InputMethodManager inputMethodManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
}
但是最近项目中出现了一特殊的情况,就是当edittext在dialog中的时候!这个时候去打开输入法或者隐藏输入法就有问题!解决的办法如下:
textWaterMarkdialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
// 隐藏输入法textWaterMarkdialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}
});
textWaterMarkdialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
// 隐藏输入法
textWaterMarkdialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}
});
// 显示输入法 textWaterMarkdialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
public static void showInputKeyboard(Context context , View view){
if (null != view){
InputMethodManager inputMethodManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.showSoftInput(view, InputMethodManager.SHOW_FORCED);
}
}
public static void hideInputKeyboard(Context context , View view){
if (null != view){
InputMethodManager inputMethodManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
}
但是最近项目中出现了一特殊的情况,就是当edittext在dialog中的时候!这个时候去打开输入法或者隐藏输入法就有问题!解决的办法如下:
textWaterMarkdialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
// 隐藏输入法textWaterMarkdialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}
});
textWaterMarkdialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
// 隐藏输入法
textWaterMarkdialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}
});
// 显示输入法 textWaterMarkdialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
相关文章推荐
- Android处理滑动与点击事件的冲突
- Android测试教程9--聊聊配置测试环境的一些问题
- 用system.env获取到的android的环境变量
- android和iOS平台的崩溃捕获和收集
- Android进阶之路——NDK(二)
- Android 检测 手机硬件状态 的Utils
- android-Menu Resource
- Android动态换肤开源库Colorful发布
- 如何优化 Android Studio 启动、编译和运行速度?
- 应用中添加QQ群(android、iOS、网页、二维码)
- Android设置Settings:PreferenceFragment【4】
- 【Android效果集】学习ExplosionField之粒子破碎效果
- Android设置Settings:ListPreference【3】
- Android动态加载黑科技 动态创建Activity模式
- Android设置Settings:预读取设置的选项和更新设置结果【2】
- Android 4.4Telephony流程分析SIM卡开机时的初始化
- Android Studio系列教程六--Gradle多渠道打包
- Android Crash日志抓取及保存
- android一款软件的反编译实现(APKtool)
- Android 4.4Telephony流程分析SIM卡开机时的数据加载