最近項目中用到 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();
這也是我經常用的一種方式,一般我用於顯示一些信息, 並不輸入內容. 最后來個效果圖吧, 盡管很丑陋