Android创建 不输入内容的常见对话框,工具类
来源:互联网 发布:洗衣机推荐 知乎 编辑:程序博客网 时间:2024/06/07 06:36
package com.jiayinlending.widget.dialog;import android.app.Dialog;import android.content.Context;import android.content.DialogInterface;import android.view.LayoutInflater;import android.view.View;import android.widget.Button;import android.widget.LinearLayout;import android.widget.TextView;import android.view.ViewGroup.LayoutParams;import /** * */public class CustomDialog extends Dialog { public CustomDialog(Context context) { super(context); } public CustomDialog(Context context, int theme) { super(context, theme); } public static class Builder { private Context context; private String title; private String message; private String positiveButtonText; private String negativeButtonText; private View contentView; private DialogInterface.OnClickListener positiveButtonClickListener; private DialogInterface.OnClickListener negativeButtonClickListener; public Builder(Context context) { this.context = context; } public Builder setMessage(String message) { this.message = message; return this; } /** * Set the Dialog message from resource * * @param * @return */ public Builder setMessage(int message) { this.message = (String) context.getText(message); return this; } /** * Set the Dialog title from resource * * @param title * @return */ public Builder setTitle(int title) { this.title = (String) context.getText(title); return this; } /** * Set the Dialog title from String * * @param title * @return */ public Builder setTitle(String title) { this.title = title; return this; } public Builder setContentView(View v) { this.contentView = v; return this; } /** * Set the positive button resource and it's listener * * @param positiveButtonText * @return */ public Builder setPositiveButton(int positiveButtonText, DialogInterface.OnClickListener listener) { this.positiveButtonText = (String) context .getText(positiveButtonText); this.positiveButtonClickListener = listener; return this; } public Builder setPositiveButton(String positiveButtonText, DialogInterface.OnClickListener listener) { this.positiveButtonText = positiveButtonText; this.positiveButtonClickListener = listener; return this; } public Builder setNegativeButton(int negativeButtonText, DialogInterface.OnClickListener listener) { this.negativeButtonText = (String) context .getText(negativeButtonText); this.negativeButtonClickListener = listener; return this; } public Builder setNegativeButton(String negativeButtonText, DialogInterface.OnClickListener listener) { this.negativeButtonText = negativeButtonText; this.negativeButtonClickListener = listener; return this; } public CustomDialog create() { LayoutInflater inflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); // instantiate the dialog with the custom Theme final CustomDialog dialog = new CustomDialog(context,R.style.Dialog); View layout = inflater.inflate(R.layout.dialog_normal_layout, null); dialog.addContentView(layout, new LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); // set the dialog title ((TextView) layout.findViewById(R.id.title)).setText(title); // set the confirm button if (positiveButtonText != null) { ((Button) layout.findViewById(R.id.positiveButton)) .setText(positiveButtonText); if (positiveButtonClickListener != null) { ((Button) layout.findViewById(R.id.positiveButton)) .setOnClickListener(new View.OnClickListener() { public void onClick(View v) { positiveButtonClickListener.onClick(dialog, DialogInterface.BUTTON_POSITIVE); } }); } } else { // if no confirm button just set the visibility to GONE layout.findViewById(R.id.positiveButton).setVisibility( View.GONE); } // set the cancel button if (negativeButtonText != null) { ((Button) layout.findViewById(R.id.negativeButton)) .setText(negativeButtonText); if (negativeButtonClickListener != null) { ((Button) layout.findViewById(R.id.negativeButton)) .setOnClickListener(new View.OnClickListener() { public void onClick(View v) { negativeButtonClickListener.onClick(dialog, DialogInterface.BUTTON_NEGATIVE); } }); } } else { // if no confirm button just set the visibility to GONE layout.findViewById(R.id.negativeButton).setVisibility( View.GONE); } // set the content message if (message != null) { ((TextView) layout.findViewById(R.id.message)).setText(message); } else if (contentView != null) { // if no message set // add the contentView to the dialog body ((LinearLayout) layout.findViewById(R.id.content)) .removeAllViews(); ((LinearLayout) layout.findViewById(R.id.content)) .addView(contentView, new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT)); } dialog.setContentView(layout); return dialog; } }}
那里弹出,那里调用即可:
//创建dialogCustomDialog.Builder builder = new CustomDialog.Builder(getContext());builder.setMessage(getResources().getString(R.string.service_number_tips));builder.setTitle("");builder.setPositiveButton("我知道了", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); //设置操作事项 }});builder.create().show();
阅读全文
0 0
- Android创建 不输入内容的常见对话框,工具类
- Android:创建能输入内容的常见对话框以及使用对话框实现逻辑处理
- Android Dialog(对话框中获取输入框的内容)
- 【Android代码片段03】获取对话框中输入的内容
- Android:AlertDialog.Builder创建常见对话框
- Android:AlertDialog.Builder创建常见对话框
- android 对话框的创建
- android 布局输入框 输入时 不显示输入内容
- Android:创建常见对话框以及使用对话框实现登陆
- 常见的android弹出对话框
- Android中常见的对话框
- 【Android工具类】用户输入非法内容时的震动与动画提示——EditTextShakeHelper工具类介绍
- 【Android工具类】用户输入非法内容时的震动与动画提示——EditTextShakeHelper工具类介绍
- 【Android工具类】用户输入非法内容时的震动与动画提示——EditTextShakeHelper工具类介绍
- android 带EditView(编辑框)的AlertDialog(对话框)及获取输入内容
- android 带EditView(编辑框)的AlertDialog(对话框)及获取输入内容
- android 带EditView(编辑框)的AlertDialog(对话框)及获取输入内容
- android 带EditView(编辑框)的AlertDialog(对话框)及获取输入内容
- Codeforces 814C-An impassioned circulation of affection
- Android中对Log日志文件的分析 (ANR重点,具体案例详细分析)
- MySQL中order by语句对null字段的排序
- dedecms织梦模板的首页模板怎么修改?
- VIM复制粘贴操作
- Android创建 不输入内容的常见对话框,工具类
- Java有没有goto
- (2)时间最优PID控制
- 顺时钟打印矩阵
- Android 调用系统相机和图片
- Plug-in 编辑器菜单
- 目标跟踪:KCF--调通C++代码
- 三次曲线和五次曲线函数
- 使用Tesseract-OCR训练文字识别记录