首页 > 代码库 > Dialog显示在Activity不同的位置

Dialog显示在Activity不同的位置

Dialog默认显示在中间,要显示在其它位置时用下面的方法可以实现

 private void ShowDialog() {  
        AlertDialog mDialog = new AlertDialog.Builder(this)  
                .setIcon(R.drawable.ic_launcher).setTitle("温馨提示")  
                .setMessage("透明对话框")  
                .setPositiveButton("确定", null).create();  
        // 获取对话框的Window对象  
        Window mWindow = mDialog.getWindow();  
        WindowManager.LayoutParams lp = mWindow.getAttributes();  
        // 透明度的范围为:0.0f-1.0f;0.0f表示完全透明,1.0f表示完全不透明(系统默认的就是这个)。  
        lp.alpha = 0.35f;  
        //设置对话框在屏幕的底部显示,当然还有上下左右,任意位置  
        //mWindow.setGravity(Gravity.LEFT);  
        mWindow.setGravity(Gravity.BOTTOM);  
      /*     
       *  
       * 这里是设置偏移量,这里的x,y并不是相对于屏幕的绝对坐标,而是相对于对话框在中心位置(默认的对话框一般显示在屏幕的中心)而言的 
        lp.x = -20;// 设置水平偏移量 
        lp.y = -90;// 设置竖直偏移量 
        */  
        // 设置Window的属性  
        mWindow.setAttributes(lp);  
  
        mDialog.show();  
    }  

Dialog显示在Activity不同的位置