解决Dialog对话框在输入法弹出时被遮挡的问题
2013-07-08 23:22
561 查看
今天在做项目时遇到一个问题。程序中有一个评论的对话框,对话框中包含了EditText和ImageButton,当点击EditText弹出输入法时,输入法框会遮挡Dialog中的ImageButton。在查阅了一些资料后,普遍的做法都是在Dialog中加入ScrollView。但是这就需要Dialog能够在弹出输入法的时候能够被resize(压缩)。在Android中,可以通过android:windowInputMode="adjustResize"来使得Activity能够被压缩。可是Dialog是不能通过该方法来实现。
要使得Dialog能够被压缩,可以在代码中进行如下设置:
通过以上方法,就会使得Dialog能够在输入法弹出时被Resize(需设置Dialog的Activity的android:windowInputMode="adjustResize",并且Dialog中的内容嵌套在ScrollView中)
要使得Dialog能够被压缩,可以在代码中进行如下设置:
Dialog mMainWindow = new Dialog(this, R.style.dialog_full_screen); mMainWindow.setContentView(mMainView); mMainWindow.setCancelable(true); mMainWindow.show(); Window dialogWin = mMainWindow.getWindow(); WindowManager.LayoutParams lp = dialogWin.getAttributes(); /** Dialog的width和height默认值为WRAP_CONTENT,正是因为如此,当屏幕中有足够的空间时,Dialog是不会被压缩的 但是设置width和height为MATCH_PARENT的代价是无法设置gravity的值,这就无法调整Dialog中内容的位置,Dialog的内容会显示在屏幕左上角位置不过可以通过Padding来调节Dialog内容的位置。 **/ lp.width = LayoutParams.MATCH_PARENT; lp.height = LayoutParams.MATCH_PARENT; dialogWin.setAttributes(lp);
通过以上方法,就会使得Dialog能够在输入法弹出时被Resize(需设置Dialog的Activity的android:windowInputMode="adjustResize",并且Dialog中的内容嵌套在ScrollView中)
相关文章推荐
- Android 自定义布局dialog使用(解决edittext无法弹出输入法的问题)
- 问题系列:解决Dialog全屏显示以及Dialog显示自动弹出输入法(转)
- 解决popupwindow中弹出输入法被遮挡问题
- 安卓沉浸式状态栏开发 输入法弹出遮挡布局问题解决
- 封装有输入框的 PopupWindow,并解决输入法弹出将其遮挡问题
- Android 输入法键盘和activity页面遮挡和自动弹出问题解决
- 解决 android 输入法弹出输入框被遮挡的问题
- 关于AlertDialog中嵌入Edittext无法弹出输入法的问题解决
- 解决popupwindow中弹出输入法被遮挡问题
- 自定义AlertDialog,以及解决自定义Dialog中EditText不能弹出输入法的问题
- 解决popupwindow中弹出输入法被遮挡问题
- Android 解决界面底部弹出dialog被虚拟按键遮挡一部分的问题
- 弹出输入法软键盘,编辑框悬浮,及覆盖遮挡问题的解决
- Android 自定义弹出框 EditText获取光标后键盘遮挡,及初始化弹出键盘问题解决
- 解决AJAX中使用UpdatePanel后再用Response.Write();等无法弹出对话框问题
- Android 输入法键盘遮挡控件问题的解决办法
- android中自定义的dialog中的EditText无法弹出输入法解决方案
- 解决AJAX中使用UpdatePanel后再用Response.Write();等无法弹出对话框问题
- 解决AJAX中使用UpdatePanel后无法弹出js对话框问题(引)
- Unity3D 解决用Unity导出的Android工程在6.0及以上设备会弹出一串权限对话框的问题