AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create(); alertDialog.setMessage("You have system write settings permission now."); alertDialog.show();
private void showNormalDialogOne() {/* @setIcon 设置对话框图标* @setTitle 设置对话框标题* @setMessage 设置对话框消息提示* setXXX方法返回Dialog对象,因此可以链式设置属性*/final AlertDialog.Builder normalDialog = new AlertDialog.Builder(this);normalDialog.setTitle("提示");normalDialog.setMessage("确定删除所有!");normalDialog.setPositiveButton("确定",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// delehistory();//dosomething}});normalDialog.setNegativeButton("取消",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {}});normalDialog.show();
}
单选项dialog
AlertDialog.Builder builder = new AlertDialog.Builder(SynthActivity.this, android.R.style.Theme_Holo_Light_Dialog);
builder.setTitle("引擎空闲时切换");
final Map<String, String> map = new LinkedHashMap<>(4);
map.put("离线女声", OfflineResource.VOICE_FEMALE);
map.put("离线男声", OfflineResource.VOICE_MALE);
map.put("离线度逍遥", OfflineResource.VOICE_DUXY);
map.put("离线度丫丫", OfflineResource.VOICE_DUYY);
final String[] keysTemp = new String[4];
final String[] keys = map.keySet().toArray(keysTemp);
builder.setItems(keys, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {loadModel(map.get(keys[which]));Log.i("lgq","....."+map.get(keys[which]));}
});
builder.show();
2、多选项dialog
private String[] favor = {"美容 ", "汽车 ", "游戏 ", "社交 ", "体育 ", "阅读 ","影视 ", "母婴 ", "健康 ", "家居 ", "服饰 ", "其他 "};
private String hobby;
private int befoid;
//兴趣爱好设置private void hobbySetting() {AlertDialog.Builder dialogm = new AlertDialog.Builder(this);dialogm.setMultiChoiceItems(favor, new boolean[]{false, false, false, false, false, false, false, false, false, false, false, false},new DialogInterface.OnMultiChoiceClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which, boolean isChecked) {if (!TextUtils.isEmpty(hobby)&&hobby.split("\\ ").length > 2&&befoid!=which) {
// ToastUtil.centralToast("最多只能选择3项", mContext);dialog.dismiss();hobby = "";befoid = 99;} else {if (isChecked){hobby = hobby + favor[which];befoid = which;Log.v("lgq","兴趣爱好。。。。。-====="+hobby);}else {hobby = hobby.replace(favor[which], "");befoid = 99;Log.v("lgq","兴趣爱好。。。else。。==="+hobby);}}}});dialogm.setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();if (hobby.equals("")) tvHobby.setText("未设置");else tvHobby.setText(hobby);hobby = "";}});dialogm.setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();}});dialogm.show();}
默认提示框
public class DialogUtils {//自定义View对话框public static Dialog show(Context context, View view) {AlertDialog.Builder builder = new AlertDialog.Builder(context).setView(view).setCancelable(true);Dialog dialog = builder.show();dialog.getWindow().getDecorView().setBackground(null);return dialog;}}
调用
//软件说明对话框
public void showDescription() {View view = LayoutInflater.from(mContext).inflate(R.layout.dialog_description, null);//软件说明Button btnDismiss = view.findViewById(R.id.btn_dismiss);mTxvModeChoose = view.findViewById(R.id.txv_mode_choose);final Dialog dialog = DialogUtils.show(mContext, view);btnDismiss.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//点击右上角 × 关闭弹窗dialog.dismiss();}});mTxvModeChoose.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//点击选择模式mTxvModeChoose.setBackgroundResource(R.drawable.txv_stroke);mTxvModeFill.setBackground(null);mTxvDictionary.setBackground(null);mTxvDescription.setText(R.string.str_descrip_choose);}});}
点击事件Dialog
public class TipDialog2 extends Dialog {@BindView(R.id.Cancel_tv)TextView mCancelTv;@BindView(R.id.confirm_tv)TextView mConfirmTv;@BindView(R.id.tv_content)TextView mTvContent;@BindView(R.id.tv_title)TextView mTvTitle;private CallBack mCallBack;public TipDialog2(@NonNull Context context) {super(context, R.style.CommonDialogStyle);setContentView(R.layout.dialog_tip2);ButterKnife.bind(this);}@OnClick({ R.id.Cancel_tv, R.id.confirm_tv })public void onClick(View view) {switch (view.getId()) {case R.id.Cancel_tv:dismiss();break;case R.id.confirm_tv:if (mCallBack != null) {mCallBack.confirm();}dismiss();break;}}public void setCallBack(CallBack callBack) {this.mCallBack = callBack;}public interface CallBack {void confirm();}public void setTitle(boolean isVisible,String title){mTvTitle.setVisibility(isVisible?View.VISIBLE:View.GONE);mTvTitle.setText(title);}public void setTvContent(String content) {mTvContent.setText(content);} }
调用
TipDialog2 tipDialog2 = new TipDialog2(this); tipDialog2.setCallBack(new TipDialog2.CallBack() {@Overridepublic void confirm() {finish();} }); tipDialog2.show();
EditText键盘不弹出
//弹出软键盘 public void showKeyboard(EditText editText) {//其中editText为dialog中的输入框的 EditTextif(editText!=null){//设置可获得焦点editText.setFocusable(true);editText.setFocusableInTouchMode(true);//请求获得焦点editText.requestFocus();//调用系统输入法InputMethodManager inputManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);inputManager.showSoftInput(editText, 0);} }