Android软键盘自动显示,手动控制显示与隐藏
2016-06-16 00:53
627 查看
Android软键盘自动显示,手动控制显示与隐藏
http://blog.csdn.net/ccpat/article/details/46717573
1软键盘自动弹出
2软键盘自动调整布局而不覆盖布局
就一句话menifest文件activity属性添加(记得根布局用相对布局)
3手动控制软键盘显示与隐藏
(1)显示软键盘,showSoftInput的第一个参数要是光标所在的edittext
(2)隐藏软键盘,第一个参数可以用任何一个view
5软键盘焦点问题
setOnFocusChangeListener与setOnClickListener结合使用
第一次点击edittext是走setOnFocusChangeListener
再点击一下edittext是走setOnClickListener
补充:手动控制软键盘弹出如果弹不出来加延时搞定
补充
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
InputMethodManager m = (InputMethodManager) editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
m.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
}
}, 300);
“`
http://blog.csdn.net/ccpat/article/details/46717573
1软键盘自动弹出
//设置软键盘自动弹出 etTitle.setFocusable(true); etTitle.setFocusableInTouchMode(true); etTitle.requestFocus(); Timer timer = new Timer(); timer.schedule(new TimerTask() { public void run() { InputMethodManager methodManager = (InputMethodManager) etTitle.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); methodManager.showSoftInput(etTitle, 0); } }, 998);
2软键盘自动调整布局而不覆盖布局
就一句话menifest文件activity属性添加(记得根布局用相对布局)
<activity android:name=".activity.PostActivity" android:screenOrientation="portrait" android:windowSoftInputMode="adjustResize"/>
3手动控制软键盘显示与隐藏
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
(1)显示软键盘,showSoftInput的第一个参数要是光标所在的edittext
if (inTitle) { imm.showSoftInput(etTitle,InputMethodManager.HIDE_IMPLICIT_ONLY);//显示软键盘 } else if (inText) { imm.showSoftInput(mEditEmojicon,InputMethodManager.HIDE_IMPLICIT_ONLY);//显示软键盘 }
(2)隐藏软键盘,第一个参数可以用任何一个view
``` 4获取软键盘高度 ``` rlPost.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { /** * the result is pixels */ @Override public void onGlobalLayout() { Rect r = new Rect(); rlPost.getWindowVisibleDisplayFrame(r); int screenHeight=rlPost.getRootView().getHeight(); int heightDifference = screenHeight - (r.bottom - r.top); Log.e("Keyboard Size", "Size: " + heightDifference); } }); <div class="se-preview-section-delimiter"></div>
5软键盘焦点问题
setOnFocusChangeListener与setOnClickListener结合使用
第一次点击edittext是走setOnFocusChangeListener
再点击一下edittext是走setOnClickListener
补充:手动控制软键盘弹出如果弹不出来加延时搞定
Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { InputMethodManager m = (InputMethodManager) editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); m.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); } }, 300);
补充
//imm.showSoftInput(etComment, InputMethodManager.HIDE_IMPLICIT_ONLY);//显示软键盘 //imm.showSoftInput(etComment, InputMethodManager.SHOW_FORCED);
5软键盘焦点问题 setOnFocusChangeListener与setOnClickListener结合使用 第一次点击edittext是走setOnFocusChangeListener 再点击一下edittext是走setOnClickListener 补充:手动控制软键盘弹出如果弹不出来加延时搞定
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
InputMethodManager m = (InputMethodManager) editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
m.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
}
}, 300);
补充` //imm.showSoftInput(etComment, InputMethodManager.HIDE_IMPLICIT_ONLY);//显示软键盘 //imm.showSoftInput(etComment, InputMethodManager.SHOW_FORCED);` 设置键盘覆盖popupwindow
popupWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);//设置键盘覆盖popupwindow
“`
相关文章推荐
- 关于windowSoftInputMode控制软键盘的问题
- android 强制关闭软键盘
- android中怎么隐藏软件盘,android中怎么显示软键盘
- edittext的imeOptions属性和android软键盘的使用
- 软键盘点击确定按钮循环调用两次的问题解决
- Android软键盘弹出时使布局上移,避免软键盘覆盖提交等按钮
- Android软键盘弹出时把布局顶上去的解决方法
- Android 键盘弹起和回落事件监听(二)之移动布局
- android代码控制软键盘的打开与关闭的工具类(KeybordS)
- 解决Android软键盘把原来的布局给顶上去问题
- 解决Android 5.1物理键盘与软键盘的同时使用
- Android中单击空白区域隐藏键盘
- android软键盘的事件响应:android EditText inputType 及 android:imeOptions=”actionDone”
- android软键盘输入,windowSoftInputMode
- 文章标题
- Android关于隐藏软键盘
- Android开发笔记(八十五)手机数据库Realm
- android中使用GoogleMap的地理位置服务
- Android属性动画设置中心点
- 撕衣服