DialogUtils Material风格对话框工具类
来源:互联网 发布:张良知乎 编辑:程序博客网 时间:2024/05/22 00:38
import android.content.Context;import android.content.DialogInterface;import android.content.DialogInterface.OnCancelListener;import android.content.DialogInterface.OnDismissListener;import android.content.DialogInterface.OnKeyListener;import android.content.DialogInterface.OnShowListener;import android.support.annotation.NonNull;import android.text.TextUtils;import android.view.KeyEvent;import android.view.View;import com.afollestad.materialdialogs.DialogAction;import com.afollestad.materialdialogs.GravityEnum;import com.afollestad.materialdialogs.MaterialDialog;import com.afollestad.materialdialogs.Theme;import com.afollestad.materialdialogs.MaterialDialog.Builder;import com.afollestad.materialdialogs.MaterialDialog.InputCallback;import com.afollestad.materialdialogs.MaterialDialog.ListCallback;import com.afollestad.materialdialogs.MaterialDialog.ListCallbackMultiChoice;import com.afollestad.materialdialogs.MaterialDialog.ListCallbackSingleChoice;import com.afollestad.materialdialogs.MaterialDialog.SingleButtonCallback;import java.util.List;import me.goldze.mvvmhabit.R.color;import me.goldze.mvvmhabit.R.drawable;import me.goldze.mvvmhabit.R.string;public class MaterialDialogUtils { public MaterialDialogUtils() { } public void showThemed(Context context, String title, String content) { (new Builder(context)).title(title).content(content).positiveText("agree").negativeText("disagree").positiveColorRes(color.white).negativeColorRes(color.white).titleGravity(GravityEnum.CENTER).titleColorRes(color.white).contentColorRes(17170443).backgroundColorRes(color.material_blue_grey_800).dividerColorRes(color.white).btnSelector(drawable.md_selector, DialogAction.POSITIVE).positiveColor(-1).negativeColorAttr(16842810).theme(Theme.DARK).autoDismiss(true).showListener(new OnShowListener() { public void onShow(DialogInterface dialog) { } }).cancelListener(new OnCancelListener() { public void onCancel(DialogInterface dialog) { } }).dismissListener(new OnDismissListener() { public void onDismiss(DialogInterface dialog) { } }).show(); } public static Builder showIndeterminateProgressDialog(Context context, String content, boolean horizontal) { Builder builder = (new Builder(context)).title(content).progress(true, 0).progressIndeterminateStyle(horizontal).canceledOnTouchOutside(false).widgetColorRes(color.colorPrimary).backgroundColorRes(color.white).keyListener(new OnKeyListener() { public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { if(event.getAction() == 0 && keyCode == 4) { ; } return false; } }); return builder; } public static Builder showBasicDialog(Context context, String content) { Builder builder = (new Builder(context)).title(content).positiveText("确定").negativeText("取消"); return builder; } public static Builder showBasicDialogNoTitle(Context context, String content) { Builder builder = (new Builder(context)).content(content).positiveText("确定").negativeText("取消"); return builder; } public static Builder showBasicDialogNoCancel(Context context, String title, String content) { Builder builder = (new Builder(context)).title(title).content(content).positiveText("确定"); return builder; } public static Builder showBasicDialog(Context context, String title, String content) { Builder builder = (new Builder(context)).title(title).content(content).positiveText("确定").negativeText("取消"); return builder; } public static Builder showBasicDialogPositive(Context context, String title, String content) { Builder builder = (new Builder(context)).title(title).content(content).positiveText("复制").negativeText("取消"); return builder; } public static Builder getSelectDialog(Context context, String title, String[] arrays) { Builder builder = (new Builder(context)).items(arrays).itemsColor(-12226906).negativeText("取消"); if(!TextUtils.isEmpty(title)) { builder.title(title); } return builder; } public static Builder showBasicListDialog(Context context, String title, List content) { Builder builder = (new Builder(context)).title(title).items(content).itemsCallback(new ListCallback() { public void onSelection(MaterialDialog dialog, View itemView, int position, CharSequence text) { } }).negativeText("取消"); return builder; } public static Builder showSingleListDialog(Context context, String title, List content) { Builder builder = (new Builder(context)).title(title).items(content).itemsCallbackSingleChoice(1, new ListCallbackSingleChoice() { public boolean onSelection(MaterialDialog dialog, View itemView, int which, CharSequence text) { return true; } }).positiveText("选择"); return builder; } public static Builder showMultiListDialog(Context context, String title, List content) { Builder builder = (new Builder(context)).title(title).items(content).itemsCallbackMultiChoice(new Integer[]{Integer.valueOf(1), Integer.valueOf(3)}, new ListCallbackMultiChoice() { public boolean onSelection(MaterialDialog dialog, Integer[] which, CharSequence[] text) { return true; } }).onNeutral(new SingleButtonCallback() { public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) { dialog.clearSelectedIndices(); } }).alwaysCallMultiChoiceCallback().positiveText(string.md_choose_label).autoDismiss(false).neutralText("clear").itemsDisabledIndices(new Integer[]{Integer.valueOf(0), Integer.valueOf(1)}); return builder; } public static void showCustomDialog(Context context, String title, int content) { MaterialDialog dialog = (new Builder(context)).title(title).customView(content, true).positiveText("确定").negativeText(17039360).onPositive(new SingleButtonCallback() { public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) { } }).build(); } public static Builder showInputDialog(Context context, String title, String content) { Builder builder = (new Builder(context)).title(title).content(content).inputType(8289).positiveText("确定").negativeText("取消").input("hint", "prefill", true, new InputCallback() { public void onInput(@NonNull MaterialDialog dialog, CharSequence input) { } }); return builder; }}
阅读全文
0 0
- DialogUtils Material风格对话框工具类
- 工具类--DialogUtils对话框工具
- DialogUtils(material风格,ios风格,传入context构建,在任意界面弹出,以及dialog样式的activity)
- 占位2——自定义Dialog,写工具类DialogUtils
- DialogUtils
- Material Design风格浅析
- Coordinatorlayout---Material Design风格
- Material Desgin 风格开发
- Robotium DialogUtils
- 修改Material风格的主色值
- Material Design风格登录注册
- Android Material 风格的 Dialog
- Material风格的确认框
- Android Material design设计风格
- 自定义Material Design风格ProgressDialog
- Material风格的悬浮按钮
- Material Design风格SearchView实现
- Material Design风格之Snackbar
- glib字符串
- 分别使用普通线性回归、岭回归、lasso回归预测鲍鱼年龄
- Visual Studio 遇到了异常。这可能是由某个扩展导致的
- Django系列——撰写页面
- FIR滤波器相关解释
- DialogUtils Material风格对话框工具类
- SQL SERVER 修改数据库名称(包括 db.mdf 名称的修改)
- word 中如何去掉复制的文字的底纹?
- 正定矩阵、负定矩阵、半正定矩阵、半负定矩阵
- 如何快速成为全栈式软件架构师
- 地图路径规划
- git 相关命令
- Ubuntu16.04+CUDA8.0+cudnn v5.1+opencv3.1(2.4.10)+caffe+GTX 1080Ti 机器配置记录及tsn训练与测试记录
- 用机器学习代替B树