使用AlertDialog.Builder虽然也可以自定义自己的Dialog。但是如果Dialog中有EditText,你会发现点击EditText系统可能不会弹出软键盘。这个时候使用继承Dialog的方法就不会出现此问题。自定义Dialog示例代码:
public class MyDialog extends Dialog{
private Context context;
//OnCreate()函数在调用show()方法后才会调用。
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
this.setContentView(R.layout.mydialog_layout);
//设置Dilaog的宽度为屏幕宽度-40,高度自适应,dialog会自动居中。
this.getWindow().setLayout(context.getResources().getDisplayMetrics().widthPixels-40,
LayoutParams.WRAP_CONTENT);
}
public MyDialog(Context context) {
super(context);
// TODO Auto-generated constructor stub
this.context=context;
//去掉标题栏
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
}