然后样子就成下图那样了。
代码:
public class CustomAlertDialog extends AlertDialog.Builder { LayoutInflater inflater; View container; TextView tx_title; TextView tx_message; Context mContext; View cancel; AlertDialog alertDialog; View ok; public CustomAlertDialog(Context context,String title,String msg) { super(context); mContext = context; inflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); container = inflater.inflate(R.layout.widget_custom_alertdialog, null); setView(container); cancel = container.findViewById(R.id.cancel); ok = container.findViewById(R.id.ok); tx_title = (TextView) container.findViewById(R.id.title); tx_message = (TextView) container.findViewById(R.id.message); if(title==null){ title="友情提示"; } tx_title.setText(title); tx_message.setText(msg); cancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { alertDialog.dismiss(); } }); } public Builder setNegativeButton(CharSequence text, final OnClickListener listener) { cancel.setVisibility(View.VISIBLE); cancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { listener.onClick(alertDialog, 0); alertDialog.dismiss(); } }); return this; } public Builder setPositiveButton(final OnClickListener listener) { ok.setVisibility(View.VISIBLE); ok.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { listener.onClick(alertDialog, 0); } }); return this; } @Override public AlertDialog create() { alertDialog= super.create(); return alertDialog; } }
使用:
new CustomAlertDialog(cont, null, "退出程序?") .setPositiveButton(new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); AppManager.getAppManager().AppExit(cont); } }).create().show();; }
和传统方式没区别。。。