android- 对话框中弹出edittext 不能调出输入法


最近项目中用到 dialog弹出对话框功能, 弹出后输入 密码, 本以为这是一个很简单问题,但是做好发现Edittext 无法调出输入法. 

解决方法,我也是百度找到的 . 记录一下,便于下次使用:

final Dialog alertDialog = new Dialog(this,R.style.CustomDialogStyle);
        alertDialog.show();
        Window window = alertDialog.getWindow();
        window.setBackgroundDrawable(new ColorDrawable(0));//设置背景透明
        window.setContentView(R.layout.dialog_info);
        final EditText pwd = (EditText) window.findViewById(R.id.pwd);

        Button confirm = (Button) window.findViewById(R.id.btn_confirm);
        Button cancel = (Button) window.findViewById(R.id.btn_cancel);
下面是 btn的监听 ... 省略

上面创建对话框,用到一个样式如下CustomDialogStyle:

 <style name="CustomDialogStyle" parent="@android:style/Theme.Dialog">
        <item name="android:windowFrame">@null</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:background">@android:color/transparent</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:backgroundDimEnabled">true</item>
        <item name="android:backgroundDimAmount">0.6</item>
    </style>

对话框布局很简单,我省略了,写的也比较丑 ,里面一个 EditText, 2个button

对话框还有一种创建方式: 

final AlertDialog alertDialog = new AlertDialog.Builder(this).create();
这也是我经常用的一种方式,一般我用于显示一些信息, 并不输入内容. 最后来个效果图吧, 尽管很丑陋



 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM