MainActivity.java:

public class MainActivity extends Activity {
    /**
     * 定义一个button,点击按钮,弹出自定义的Dialog
     */
    private Button btn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn =(Button) findViewById(R.id.btn);
        btn.setOnClickListener(new OnClickListener() {
                                                     
            @Override
            public void onClick(View v) {
            //定义一个Dialog
            Dialog dialog=new Dialog(MainActivity.this, android.R.style.Theme_Translucent_NoTitleBar); 
            /**
             * 设置自定义Dialog的视图文件,用法和Activty万全一样。可以随意在任何位置摆放任何控件。
             * 可以放置ListView等高级控件,也可以为相关的组件添加监听事件处理。
             * 一定要记得给自定义的Dialog的布局文件添加背景。否则Dialog会和原Activity的内容重合。
             */
            //自定义一个cell.xml,里面只有一个TextView。
            dialog.setContentView(R.layout.cell);
            //获取控件一定要通过 视图dialog获取
            TextView tv=(TextView) dialog.findViewById(R.id.cell_tv);      
            tv.setText("我是自定义Dialog!");
                                                     
            //设置Dialog的大小和位置
            Window dialogWindow = dialog.getWindow();
            WindowManager.LayoutParams lp = dialogWindow.getAttributes();
            dialogWindow.setGravity(Gravity.CENTER);                   
            lp.width = 200;
            lp.height= 300;
            //显示Dialog
            dialog.show();             
            }
        });    
    }
}



运行结果:


Android -- 自定义Dialog_自定义Dialog

Android -- 自定义Dialog_自定义Dialog_02