一个常用的自定义弹框封装,加载ProgressDialog,状态显示的StatusDialog和自定义Toast,全部支持背景颜色,圆角,边框和文字的自定义,构建者模式,链式调用。
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
dependencies {
compile 'com.github.maning0303:MNProgressHUD:V1.0.2'
}
compile project(':mndialoglibrary')
//新建一个Dialog
mMProgressDialog = new MProgressDialog.Builder(this)
//点击外部是否可以取消
.isCanceledOnTouchOutside(true)
//全屏背景窗体的颜色
.setBackgroundWindowColor(getMyColor(R.color.colorDialogWindowBg))
//View背景的颜色
.setBackgroundViewColor(getMyColor(R.color.colorDialogViewBg))
//View背景的圆角
.setCornerRadius(20)
//View 边框的颜色
.setStrokeColor(getMyColor(R.color.colorAccent))
//View 边框的宽度
.setStrokeWidth(2)
//Progress 颜色
.setProgressColor(getMyColor(R.color.colorDialogProgressBarColor))
//Progress 宽度
.setProgressWidth(3)
//Progress 内圈颜色
.setProgressRimColor(Color.YELLOW)
//Progress 内圈宽度
.setProgressRimWidth(2)
//文字的颜色
.setTextColor(getMyColor(R.color.colorDialogTextColor))
//取消的监听
.setOnDialogDismissListener(new MProgressDialog.OnDialogDismissListener() {
@Override
public void dismiss() {
mHandler.removeCallbacksAndMessages(null);
MToast.makeTextShort(mContext, "Dialog消失了").show();
}
})
.build()
;
mMProgressDialog.show();
MStatusDialog mMStatusDialog = new MStatusDialog.Builder(mContext)
//全屏背景窗体的颜色
.setBackgroundWindowColor(getMyColor(R.color.colorDialogWindowBg))
//View背景的颜色
.setBackgroundViewColor(getMyColor(R.color.colorDialogViewBg2))
//字体的颜色
.setTextColor(getMyColor(R.color.colorAccent))
//View边框的颜色
.setStrokeColor(getMyColor(R.color.white))
//View边框的宽度
.setStrokeWidth(2)
//View圆角大小
.setCornerRadius(10)
.build();
mMStatusDialog.show("提交数据失败,请重新尝试!", mContext.getResources().getDrawable(R.mipmap.ic_launcher), 1000);
MToastConfig config = new MToastConfig.Builder()
//设置显示的位置
.setGravity(MToastConfig.MToastGravity.CENTRE)
//文字的颜色
.setTextColor(getMyColor(R.color.colorAccent))
//背景色
.setBackgroundColor(getMyColor(R.color.colorDialogTest))
//背景圆角
.setBackgroundCornerRadius(10)
//背景边框的颜色
.setBackgroundStrokeColor(Color.WHITE)
//背景边框的宽度
.setBackgroundStrokeWidth(1)
.build();
//多种方法
MToast.makeTextShort(mContext, "", config).show();
Name | Describe |
---|---|
GankMM | (Material Design & MVP & Retrofit + OKHttp & RecyclerView ...)Gank.io Android客户端:每天一张美女图片,一个视频短片,若干Android,iOS等程序干货,周一到周五每天更新,数据全部由 干货集中营 提供,持续更新。 |
MNUpdateAPK | Android APK 版本更新的下载和安装,适配7.0,简单方便。 |
MNImageBrowser | 交互特效的图片浏览框架,微信向下滑动动态关闭 |
MNCalendar | 简单的日历控件练习,水平方向日历支持手势滑动切换,跳转月份;垂直方向日历选取区间范围。 |
MClearEditText | 带有删除功能的EditText |
MNCrashMonitor | Debug监听程序崩溃日志,展示崩溃日志列表,方便自己平时调试。 |
MNProgressHUD | MNProgressHUD是对常用的自定义弹框封装,加载ProgressDialog,状态显示的StatusDialog和自定义Toast,支持背景颜色,圆角,边框和文字的自定义。 |
MNXUtilsDB | xUtils3 数据库模块单独抽取出来,方便使用。 |
MNVideoPlayer | SurfaceView + MediaPlayer 实现的视频播放器,支持横竖屏切换,手势快进快退、调节音量,亮度等。------代码简单,新手可以看一看。 |
MNZXingCode | 快速集成二维码扫描和生成二维码 |
MNChangeSkin | Android夜间模式,通过Theme实现 |
SwitcherView | 垂直滚动的广告栏文字展示。 |
MNPasswordEditText | 类似微信支付宝的密码输入框。 |
MNSwipeToLoadDemo | 利用SwipeToLoadLayout实现的各种下拉刷新效果(饿了吗,京东,百度外卖,美团外卖,天猫下拉刷新等)。 |