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