使用EditText在不同场景下调用软键盘的总结
来源:互联网 发布:网络舆情工作心得体会 编辑:程序博客网 时间:2024/05/16 15:32
原文地址: 使用EditText在不同场景下调用软键盘的总结
这几天在做自动弹出与隐藏软键盘,EditText在不同的使用环境下调用的方法是不一样的,找不到通用万能的方法,网上写的那些方法也只能作参考,不通用;这里总结一下我的心得,写出来分享给大家,希望对大家有帮助。
1.普通Activity中调用软键盘(下面两种方法都可以用):
方法一:
WindowManager.LayoutParams params = act.getWindow().getAttributes();
// 隐藏软键盘
act.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
params.softInputMode = WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN;
//显示软键盘
act.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
params.softInputMode = WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE;
方法二:
//显示软键盘
mReasonEt.requestFocus();
InputMethodManager imm = (InputMethodManager)this.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(mReasonEt, 0);
//隐藏软键盘
mReasonEt.requestFocus();
InputMethodManager imm = (InputMethodManager)this.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromInputMethod(mReasonEt.getWindowToken(), 0);
2.TabActivity中嵌套的子Activity中调用软键盘:
//显示软键盘
mReasonEt.requestFocus();
InputMethodManager imm = (InputMethodManager)this.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(mReasonEt, 0);
//隐藏软键盘
mReasonEt.requestFocus();
InputMethodManager imm = (InputMethodManager)this.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromInputMethod(mReasonEt.getWindowToken(), 0);
在TabActivity中调用软键盘,默认会把底部Tab菜单推上去,导致界面显示和操作不方便,可以设置Activity的属性,让键盘直接覆盖底部tab菜单;如下:
androidMainfest.xml文件中在此Activity中写入 android:windowSoftInputMode="adjustPan"
3.自定义Dialog中的EditText调用软键盘:
//显示软键盘
myDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
//显示键盘(这个方法针对三星9100使用)
warningDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
//隐藏软键盘
myDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
// 隐藏软键盘(这个方法针对三星9100使用)
WindowManager.LayoutParams params = getWindow().getAttributes();
getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
params.softInputMode = WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN;
4.捕获屏幕点击事件,隐藏输入法
getWindow().getDecorView().setOnTouchListener(new OnTouchListener(){@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE))
.hideSoftInputFromWindow(v.getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
return false;
}
});
- EditText 在不同场景下调用软键盘的总结
- 使用EditText在不同场景下调用软键盘的总结
- 使用EditText在不同场景下调用软键盘的总结
- 使用EditText在不同场景下调用软键盘的总结
- 使用EditText在不同场景下调用软键盘的总结
- 使用EditText在不同场景下调用软键盘的总结
- 使用EditText在不同场景下调用软键盘的总结
- 使用EditText在不同场景下调用软键盘的总结
- 使用EditText在不同场景下调用软键盘的总结
- 使用EditText在不同场景下调用软键盘的总结
- EditText在不同场景下调用软键盘
- EditText调用软键盘的总结
- Android EditText 软键盘的各种使用场景
- android 软键盘 EditText 使用总结
- EditText使用软键盘
- java的synchronized的使用场景简介以及在不同场景下的差异
- (原创)EditText软键盘弹出关闭等使用总结
- Android控件EditText软键盘的调用和控制
- spring 事物 线程池 测试
- Android 如何找到最匹配资源
- 图片处理 javax.imageio.IIOException: Unsupported Image Type
- linux tasklet和workqueue的应用情景
- redis sharding方案
- 使用EditText在不同场景下调用软键盘的总结
- MAVEN pom.xml 文件详解,整理学习中··················
- 三色球问题
- sa-jdi.jar
- Java中堆内存和栈内存详解
- openstack 虚拟机添加网卡
- xib系列---iOS 8 AutoLayout与Size Class
- 继承(Java核心技术卷Ⅰ)
- Java HttpURLConnection超时问题