CommonListDiaLogs 統一dialog 彈出框
阿新 • • 發佈:2018-11-10
CommonListDiaLogs統一通用彈出框
由於每次寫dialog都要寫很多重複程式碼,因此簡單的封裝了一個CommonListDiaLogs,封裝了一些常用方法,使用Builder模式實現:
展示效果:
使用方式:
Add the dependency to your build.gradle.
dependencies {
implementation 'com.github.Johnjson:CommonListDiaLogs:v1.0.5'
}
更新日誌
v1.0.5:
* showLoading彈出框
*/
public void showLoadingDialog(final Context context) {
// if (null == mLoadingDialog) {
mLoadingDialog = new LoadingDialog(context);
mLoadingDialog.setTouchCanceled(true);
mLoadingDialog.show();
// }
}
v1.0.2:
new BottomListDialog.Builder(context).
addMenuListItem(mList, new OnClickPositionListener() {
@Override
public void onClickPosition(int position) {
Toast.makeText(context, "點選第幾個位置 " + position, Toast.LENGTH_LONG).show();
}
}).show();
}
new BottomListDialog.Builder(context).
addMenuItem(new BottomListDialog.BottomListMenuItem("張三", new OnClickPositionListener() {
@Override
public void onClickPosition(int position) {
Toast.makeText(context, "點選第幾個位置 " + position, Toast.LENGTH_LONG).show();
}
},color,size)).
addMenuItem(new BottomListDialog.BottomListMenuItem("李四", new OnClickPositionListener() {
@Override
public void onClickPosition(int position) {
Toast.makeText(context, "點選第幾個位置 " + position, Toast.LENGTH_LONG).show();
}
},color,size)).
show();
}
new MiddleListDialog.Builder(context).
addMenuListItem(mList, new OnClickPositionListener() {
@Override
public void onClickPosition(int position) {
Toast.makeText(context, "點選第幾個位置 " + position, Toast.LENGTH_LONG).show();
}
}).show();
}
new MiddleListDialog.Builder(context).
addMenuItem(new MiddleListDialog. MiddleListMenuItem("張三", new OnClickPositionListener() {
@Override
public void onClickPosition(int position) {
Toast.makeText(context, "點選第幾個位置 " + position, Toast.LENGTH_LONG).show();
}
}, color, size)).
addMenuItem(new MiddleListDialog. MiddleListMenuItem("李四", new OnClickPositionListener() {
@Override
public void onClickPosition(int position) {
Toast.makeText(context, "點選第幾個位置 " + position, Toast.LENGTH_LONG).show();
}
}, color, size)).
show();
}
/**
* 選擇彈出框
*/
CommonSelectDialog mCommonSelectDialog = null;
public void showSelectDialog(final Context context, String mTitle, String mContent, String cancel, String confirm, int size) {
mCommonSelectDialog = new CommonSelectDialog.Builder(context).
setContentGravity(Gravity.CENTER).
setTouchAble(true).
setTitle(mTitle).
setContent(mContent).
setContentSize(size).
setLeftButtonInterface(cancel, new View.OnClickListener() {
@Override
public void onClick(View v) {
mCommonSelectDialog.dismiss();
}
}).setRightButtonInterface(confirm, new View.OnClickListener() {
@Override
public void onClick(View v) {
mCommonSelectDialog.dismiss();
}
}).show();
}
/**
* 單個按鈕彈出框
*/
public void showSelectOneDialog(final Context context, String mTitle, String mContent, String confirm, int size) {
mCommonSelectDialog = new CommonSelectDialog.Builder(context).
setContentGravity(Gravity.CENTER).
setTouchAble(true).
setTitle(mTitle).
setContent(mContent).
setContentSize(size).
setOneButtonInterface(confirm, new View.OnClickListener() {
@Override
public void onClick(View v) {
mCommonSelectDialog.dismiss();
}
}).show();
}
public void onClick(View v) {
switch (v.getId()) {
/**底部彈出1*/
case R.id.mbottom1:
String[] mList = MainActivity.this.getResources().getStringArray(R.array.selectList);
showBottomListDialog1(MainActivity.this, mList);
break;
/**底部彈出2*/
case R.id.mbottom2:
showBottomListDialog2(MainActivity.this, R.dimen.com_font_size_16, getResources().getColor(R.color.colorAccent));
break;
/**中部彈出1*/
case R.id.middle1:
String[] mList1 = MainActivity.this.getResources().getStringArray(R.array.selectList);
showMiddleListDialog1(MainActivity.this, mList1);
break;
/**中部彈出2*/
case R.id.middle2:
showMiddleListDialog2(MainActivity.this, R.dimen.com_font_size_16, getResources().getColor(R.color.colorAccent));
break;
/**選擇彈出框*/
case R.id.select:
showSelectDialog(MainActivity.this, "提示", "你確定要關閉這個dialog嗎?", "取消", "確認", 16);
break;
/**單個按鈕彈出框*/
case R.id.selec1:
showSelectOneDialog(MainActivity.this, "提示", "你確定要刪除這個dialog嗎?", "確認", 16);
break;
default:
break;
}
}```
dome下載地址!!!
如果你喜歡,歡迎stars