UpperDialog
Android輕量級(jí)彈窗。
自定義Dialog彈窗,自定義大小和位置,進(jìn)出場(chǎng)方式。鏈?zhǔn)秸{(diào)用,自由擴(kuò)展。
直通車UpperDialog
簡(jiǎn)介
- 同時(shí)兼容support和androidx
* 實(shí)現(xiàn)幾種常用效果
* LoadingDialog 加載
* TipDialog 彈窗提示
* ListDialog 底部列表彈出
* Upper 自定義加載方式
? 占用區(qū)域不會(huì)超過當(dāng)前Activity避免導(dǎo)航欄遮擋
?? 支持自定義大小和顯示位置
? ?支持自定義數(shù)據(jù)綁定
? ?支持自定義進(jìn)出場(chǎng)動(dòng)畫
? ?支持自定義背景顏色/圖片/高斯模糊
? ?支持在Activity的onCreate生命周期彈出
? ?支持從ApplicationContext中彈出
? ?支持拖拽關(guān)閉
? ?支持不攔截外部事件
- Toast效果
- 支持自定義圖標(biāo)和文字
- 支持自定義顯示時(shí)長
- 支持自定義位置
- 支持自定義背景資源和顏色
- 支持自定義透明度
- 支持自定義進(jìn)出場(chǎng)動(dòng)畫
運(yùn)行截圖
使用說明
添加jitpack庫
allprojects {
repositories {
...
maven { url 'https://www.jitpack.io' }
}
}
添加依賴
dependencies {
implementation 'com.github.ZLYang110:UpperDialog:1.0'
}
LoadingDialog
//初始化
dialog = DialogUtils.createLoadingDialog(this, "請(qǐng)稍后...");
//顯示
dialog.show();
//關(guān)閉
dialog.dismiss();
TipDialog
TipDialog.with(getActivity())
.message("確定要清除緩存嗎?")
.onYes(new SimpleCallback() {
@Override
public void onResult(Void data) {
}
})
.show();
ListDialog
/**
* 正常彈出
*/
List lisStr=new ArrayList<>();
lisStr.add("選項(xiàng)1");
lisStr.add("選項(xiàng)2");
lisStr.add("選項(xiàng)3");
lisStr.add("選項(xiàng)4");
ListDialog.with(SettingActivity.this)
.cancelable(true)
//? ? ? ? ? .title("列表動(dòng)畫")
.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();