Android轻量级浮层弹窗。封装Dialog。

UpperDialog

Android轻量级弹窗。

自定义Dialog弹窗,自定义大小和位置,进出场方式。链式调用,自由扩展。

直通车UpperDialog

Demo下载

简介

- 同时兼容support和androidx

* 实现几种常用效果

* LoadingDialog 加载

* TipDialog 弹窗提示

* ListDialog 底部列表弹出

* Upper 自定义加载方式

  占用区域不会超过当前Activity避免导航栏遮挡

   支持自定义大小和显示位置

   支持自定义数据绑定

   支持自定义进出场动画

   支持自定义背景颜色/图片/高斯模糊

   支持在Activity的onCreate生命周期弹出

   支持从ApplicationContext中弹出

   支持拖拽关闭

   支持不拦截外部事件

- Toast效果

- 支持自定义图标和文字

- 支持自定义显示时长

- 支持自定义位置

- 支持自定义背景资源和颜色

- 支持自定义透明度

- 支持自定义进出场动画


运行截图


使用说明

添加jitpack库

allprojects {

repositories {

...

maven { url 'https://www.jitpack.io' }

}

}


添加依赖

dependencies {

implementation 'com.github.ZLYang110:UpperDialog:1.0'

}


LoadingDialog

//初始化

dialog = DialogUtils.createLoadingDialog(this, "请稍后...");

//显示

dialog.show();

//关闭

dialog.dismiss();


TipDialog

TipDialog.with(getActivity())

.message("确定要清除缓存吗?")

.onYes(new SimpleCallback() {

@Override

public void onResult(Void data) {

}

})

.show();


ListDialog

/**

* 正常弹出

*/

List lisStr=new ArrayList<>();

lisStr.add("选项1");

lisStr.add("选项2");

lisStr.add("选项3");

lisStr.add("选项4");

ListDialog.with(SettingActivity.this)

.cancelable(true)

//          .title("列表动画")

.datas(lisStr)

.currSelectPos(1)

.listener(new ListDialog.OnItemSelectedListener() {

@Override

public void onSelect(String data, int pos) {

Log.d("selectStr",lisStr.get(pos));

}

})

.show();


Upper


/**

* 正常弹出

*/

Upper.dialog(DialogActivity.this)

.contentView(R.layout.dialog_normal)

.backgroundDimDefault()

.onClickToDismiss(R.id.fl_dialog_yes, R.id.fl_dialog_no)

.show();

/**

* 显示上方

*/

Upper.dialog(DialogActivity.this)

.contentView(R.layout.dialog_match_width)

.avoidStatusBar(true)

.backgroundDimDefault()

.gravity(Gravity.TOP)

.dragDismiss(DragLayout.DragStyle.Top)

.onClickToDismiss(R.id.fl_dialog_no)

.show();

/**

* 显示下方

*/

Upper.dialog(DialogActivity.this)

.contentView(R.layout.dialog_list)

.backgroundDimDefault()

.gravity(Gravity.BOTTOM)

.dragDismiss(DragLayout.DragStyle.Bottom)

.onClickToDismiss(R.id.fl_dialog_no)

.show();

你可能感兴趣的:(Android轻量级浮层弹窗。封装Dialog。)