dialog 自动弹出软键盘的问题
2015-08-06 10:35
323 查看
dialog中 有EditText 有的需求是自动弹出软键盘 有的是不需要自动弹出软键盘 其实解决方案是一样的
前段时间 dialog中 有EditText 需要自动弹出 试了各种办法 都没啥用 比如EditText 焦点的获取 强制软键盘的弹出 但是这个时候 强制弹出的软键盘 闪下就没了 强制的代码是在dialog.show()之后 运行的 得到这个结果之后 用反证法 其实就不难找到原因了
dialog 是自己写的一个类 extends Dialog 在style里面 可以找到这样一个属性<item name="android:windowIsFloating">true</item>
这个时候 可以理解 当我dialog.show()的时候 就立马执行了强制软键盘弹出代码 但是此时 dialog视图加载没有完成 软键盘的view 从属关系 属于上个view
而不是dialog 的view 所以 需在强制代码 加个延时操作
/*Timer timer = new Timer();(此代码来源于网络)
timer.schedule(new TimerTask() {
@Override
public void run() {
editText.requestFocus();
InputMethodManager inputManager = (InputMethodManager) editText
.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.showSoftInput(editText, 0);
}
}, 300);*/
解决方案二 把dialog style 改行属性 <item name="android:windowSoftInputMode">stateVisible</item>次方案只针对需要自动弹出软键盘的dialog
至于这个属性 自行百度 android:windowSoftInputMode
软键盘 用的比较少 以后有时间 看下源码 跟下原理 目前就这样 希望有点帮助
前段时间 dialog中 有EditText 需要自动弹出 试了各种办法 都没啥用 比如EditText 焦点的获取 强制软键盘的弹出 但是这个时候 强制弹出的软键盘 闪下就没了 强制的代码是在dialog.show()之后 运行的 得到这个结果之后 用反证法 其实就不难找到原因了
dialog 是自己写的一个类 extends Dialog 在style里面 可以找到这样一个属性<item name="android:windowIsFloating">true</item>
这个时候 可以理解 当我dialog.show()的时候 就立马执行了强制软键盘弹出代码 但是此时 dialog视图加载没有完成 软键盘的view 从属关系 属于上个view
而不是dialog 的view 所以 需在强制代码 加个延时操作
/*Timer timer = new Timer();(此代码来源于网络)
timer.schedule(new TimerTask() {
@Override
public void run() {
editText.requestFocus();
InputMethodManager inputManager = (InputMethodManager) editText
.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.showSoftInput(editText, 0);
}
}, 300);*/
解决方案二 把dialog style 改行属性 <item name="android:windowSoftInputMode">stateVisible</item>次方案只针对需要自动弹出软键盘的dialog
至于这个属性 自行百度 android:windowSoftInputMode
软键盘 用的比较少 以后有时间 看下源码 跟下原理 目前就这样 希望有点帮助
相关文章推荐
- Android布局的小窍门?
- Web布局连载——两栏固定布局(五)
- DWZ刷新dialog解决方法
- 样式表CSS布局经验
- css网页布局中注意的几个问题小结
- DL.DT.DD实现左右的布局简单例子第1/2页
- 使用CSS框架布局的缺点和优点小结
- div+CSS网页布局的意义与副作用原因小结第1/2页
- CSS顶级技巧大放送,div+css布局必知
- 用div实现像table一样的布局方法
- 精彩的Bootstrap案例分享 重点在注释!(选项卡、栅格布局)
- MC Dialog js弹出层 完美兼容多浏览器(5.6更新)
- js Dialog 去掉右上角的X关闭功能
- jquery BS,dialog控件自适应大小
- jquery ui dialog实现弹窗特效的思路及代码
- JQUERY dialog的用法详细解析
- jQuery实现dialog设置focus焦点的方法
- Locate a File Using a File Open Dialog Box
- Save a File Using a File Save Dialog Box
- android自定义RadioGroup可以添加多种布局的实现方法