Dialog里面弹不出软键盘 软键盘不出现
2016-06-15 10:54
288 查看
自定义AlertDialog的写法一般有二种:
方法1
方法 2
private void showMyDialog(int layoutId){
以上二种方法都可以自定义Dialog,并且效果还不错,但是如果Dialog里面有EditText就会遇到一个问题,怎么样
都打不开软键盘,也就无法输入,如果碰到这种情况的话,请看第三种写法:
方法 3
对,效果神奇的出现了,哈哈(layoutId就是你的布局文件哦)
方法1
private void showMyDialog(int layoutId){ AlertDialog myDialog = new AlertDialog.Builder(context).create(); myDialog .setCancelable(false); myDialog .show(); Window window = myDialog .getWindow(); window.setContentView(layoutId); window.setGravity(Gravity.CENTER); window.setLayout(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); }
方法 2
private void showMyDialog(int layoutId){
LayoutInflater inflater = LayoutInflater.from(mContext); View fourView = inflater.inflate(layoutId, null); AlertDialog myDialog = new AlertDialog.Builder(context).create(); myDialog .show(); myDialog .getWindow().setContentView(fourView); }
以上二种方法都可以自定义Dialog,并且效果还不错,但是如果Dialog里面有EditText就会遇到一个问题,怎么样
都打不开软键盘,也就无法输入,如果碰到这种情况的话,请看第三种写法:
方法 3
private void showMyDialog(int layoutId){ LayoutInflater inflater = LayoutInflater.from(mContext); View fourView = inflater.inflate(layoutId, null); AlertDialog myDialog = new AlertDialog.Builder(context).create();
//加上以下这句代码 myDialog .setView(((Activity) mContext).getLayoutInflater().inflate(layoutId, null)) myDialog .show(); myDialog .getWindow().setContentView(fourView); }
对,效果神奇的出现了,哈哈(layoutId就是你的布局文件哦)
相关文章推荐
- android 各种UI控件的特殊使用方式(不定期更新)
- android 自定义自定义圆角dialog,消除黑色window背景
- 自定义dialog
- 自定义Dialog
- android自定义dialog实现app换肤功能
- Android自定义Dialog
- 自定义dialog显示位置和样式
- Android自定义Dialog
- 自定义dialog
- Android 自定义加载Dialog 运行效果流畅
- 圆角dialog实现过程
- 如何使Dialog像Activity一样随心所欲的使用?
- Android自定义Dialog 软键盘、大小的设置
- Dialog底部滑出并横向占满屏幕
- 自定义布局对话框的使用(Dialog)
- 自定义dialog以及其监听事件
- android--圆角框--dialog(圆角框)
- android 自定义dialog 常用的几个点
- Android 仿IPhone 对话框
- android 自定义dialog