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();

android Dialog提示框。单选项dialog,多选项dialog相关推荐

  1. 自定义Dialog提示框高仿QQ浏览器版本更新提示框

    前言: 今天是5月7号,真的好久没有写博客了,时光匆匆,我总感觉自己忙忙碌碌似的,静想片刻确实是挺忙的,但是在繁忙当中却缺少了总结归纳,相信大家都知道总结归纳的重要性了,今天我要和大家分享我的自定义D ...

  2. android自定义吐司通知,IOS 仿Android吐司提示框的实例(分享)

    直接上代码 #import @interface ShowToastView : UIView +(void)showToastView:(UIView *)uiview WithMessage:(N ...

  3. 详解-Android各种提示框

    首先我们来看看效果图 1.简单的消息提示框 // 简单消息提示框 private void showExitDialog01(){ new AlertDialog.Builder(this) .set ...

  4. Android消息提示框及CheckBox组件

    目录 一.Toast(消息提示框) 1.创建显示普通文本的Toast 2.创建显示带图片的Toast 二.CheckBox组件 1.在CheckBox在XML文件中的基本语法 2.CheckBox 选 ...

  5. ANDROID各种提示框

    Android开发中我们经常需要用到提示框,以便更好的和用户进行交互 首先我们来看看效果图 实现这个其实很简单,Android的API已经为我们提供了一个提示框类AlertDialog,我们实现的时候 ...

  6. Android消息提示框

    Toast(吐丝框) 1.1 Toast是Android中的一种简易的消息提示框 1.2 使用这个类的最简单的方法是调用静态方法构造您所需要的一切,并返回一个新的Toast对象. Toast toas ...

  7. js 自定义类Android吐司提示框

    (function(){     var mouseX = 0;     var mouseY = 0;     //定义一个全局toaslist用来存在新建的吐司     var toastLsit ...

  8. 简单的popupwindow提示框

    Popupwindow大家肯定都特别熟悉了 像一般的提示框的话我们会用Dialog来做 但是随着设计要求的不断提高,App中各式各样的提示框都有,很明显普通的Dialog实现起来就比较吃力了 所以用P ...

  9. electron 关闭窗口提示框 关闭确认 关闭弹窗 提示窗

    目的及效果: 点击窗口右上角的叉叉的时候,弹出下面这个,点击确认则程序结束,取消则提示框关闭,程序继续 , 环境:electron version: 11.0.4 main.js代码 var elec ...

最新文章

  1. TVM 高效保护隐私 ML
  2. 企业想独立完成网站建设也不是不可以
  3. document,element,node方法
  4. Activiti工作流从入门到入土:完整Hello World大比拼(Activiti工作流 API结合实例讲解)
  5. 深度学习-Tensorflow2.2-深度学习基础和tf.keras{1}-线性回归tf.keras概述-02
  6. android+引用非+android+工程,[非原创]编译android C++工程找不到exception handle的解决办法...
  7. 一招教你玩转SQL:通过找出数据的共同属性实现SQL需求
  8. xampp 执行php命令,处理XAMPP环境下执行ZF命令时的报错
  9. 2016/05/13 thinkphp 3.2.2 ① 数据删除及执行原生sql语句 ②表单验证
  10. jmeter压力测试指标解释
  11. Coursera 斯坦福大学科学论文写作课程笔记(一)
  12. 老男孩python作业题_老男孩python学习第一天作业
  13. jQueryphotoClip-图片上传并裁剪
  14. 【Leetcode 刷题题解】python语言+最优美解答+由易到难
  15. 电脑哪个服务器可以玩无限连击,无尽之剑3手把手教你无限连击攻略
  16. Flask构建微信订餐小程序②-全站统计
  17. Sentinel SuperPro/UltraPro Monitor v2.01
  18. python公开课乐博学院_当我学完 Python ,我学会了些什么【乐搏TestPRO】
  19. 【江苏大学研究生小记】各方面都不太如意
  20. 原味的SM3密码杂凑算法

热门文章

  1. 前端学习(2240):构造Vue的的利器-脚手架vue-cli3
  2. 前端学习(905):js执行机制
  3. 前端学习(575):margin无效情形之鞭长莫及导致无效
  4. 前端学习(570):margin负值下的等高布局
  5. 实例51:python
  6. matlab安装MinGW-64代码C/C++编译器的方法
  7. 神经网络不收敛的 11 个原因及其解决办法
  8. linux shell中各种分号和括号,linux shell 各种分号,括号使用方法总结
  9. SAS 读取数据文件
  10. 实验1c语言开发环境使用和数据类型、运算符和表达式