使用EditText在不同场景下调用软键盘的总结
来源:互联网 发布:人工智能所用到的语言? 编辑:程序博客网 时间:2024/05/24 15:40
这几天在做自动弹出与隐藏软键盘,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软键盘的调用和控制
- Highcharts一些属性
- linux shell通配符和正则表达式
- linux增加快捷键打开或关闭触摸板
- Genymotion安装配置
- oracle优化:避免全表扫描
- 使用EditText在不同场景下调用软键盘的总结
- 【动态规划DP,二维动归】poj1080,Human Gene Functions
- Appium for windows 环境安装搭建部署和第一个实例demo
- gcc编译器常识
- 第二部分 应用篇 第七章 MongoDB MapReduce
- AngularJS学习(九) $resource服务 前后台交互ajax
- 启动rabbitmq报错:/usr/lib/rabbitmq/bin/rabbitmq-server: line 80: /var/lib/rabbitmq/mnesia/rabbit@node2.p
- iPhone编程的一些小技巧
- android笔记