自定义Dialog的文章很多,换样式什么的,花样多得很,以前不知道这个方法时一直喜欢用PopupWindow代替Dialog,但下面这个方法也是相当灵活的,直接看代码:
View view = ((LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.upgrade_dialog,
null);
TextView latestTV = (TextView) view.findViewById(R.id.old_version);
TextView currentTV = (TextView) view.findViewById(R.id.new_version);
TextView titleTV = (TextView) view.findViewById(R.id.title);
// 设置当前版本
currentTV.setText("```");
// 设置最新版本
latestTV.setText("```");
titleTV.setText("```");
Button upgrade = (Button) view.findViewById(R.id.upgrade);
Button noupgrade = (Button) view.findViewById(R.id.noupgrade);
//下面两行关键
final AlertDialog dialog = new AlertDialog.Builder(context).create().show();
dialog.getWindow().setContentView(view);
upgrade.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
//do something
}
});
noupgrade.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
/*if (dialog != null && dialog.isShowing())
{
dialog.dismiss();
}*/
}
});
效果如图
