android Dialog坐标位置、布局文件、按键拦截
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
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。