标签:android dialog dialog坐标位置 dialog按键拦截 获取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
标签:android dialog dialog坐标位置 dialog按键拦截 获取dialog中的控件
原文地址:http://blog.csdn.net/only_tan/article/details/38977215