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(); } }); } }
运行结果: