Android Dialog坐標位置、布局文件、按鍵攔截

jopen 10年前發布 | 34K 次閱讀 Android Android開發 移動開發

    Dialog myDialog = new Dialog(this);
// setContentView可以設置View也可以是布局文件
myDialog.setContentView(R.layout.test_akey);
Window dialogWindow = myDialog.getWindow();
WindowManager.LayoutParams lp = dialogWindow.getAttributes();
dialogWindow.setGravity(Gravity.LEFT | Gravity.TOP);
////獲取當前窗口
WindowManager mWindowManager=(WindowManager)getApplication().getSystemService(getApplication().WINDOW_SERVICE);
lp.x = 200; // X坐標
lp.y = 200; // Y坐標(根據窗口大小,如,窗口高的一半mWindowManager.getDefaultDisplay().getHeight()/2)

        lp.width = WindowManager.LayoutParams.WRAP_CONTENT; // 寬度  
        lp.height = WindowManager.LayoutParams.WRAP_CONTENT; // 高度  
        lp.alpha = 0.8f; // 透明度  
        ////點擊其他地方消失  
        myDialog.setCancelable(true);  
        dialogWindow.setAttributes(lp);  
        ////重寫OnKeyListener,可以在此攔截按鍵  
        myDialog.setOnKeyListener(new OnKeyListener() {  

            @Override  
            public boolean onKey(DialogInterface myDialog, int keyCode, KeyEvent event) {  
                if (keyCode==KeyEvent.KEYCODE_BACK )  
                {  
        //攔截返回鍵  
                 return true;  
                }  
                else  
                return false;  
            }  
        });  
        /////獲取dialog中的控件  
       Button  mTest_Btn = (Button) myDialog.findViewById(R.id.test_btn);  

        myDialog.show();//顯示dialog  
        myDialog.dismiss();//關閉dialog  </pre><br />
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!