[안드로이드] Material Dialog 관련 라이브러리 사용법 (2)
안녕하세요, 건프입니다.
앞에서 Material Dialog 적용법과 간단한 사용법(Basic Dialog) 에 대해 알아봤습니다.
이번엔 좀 더 자유롭게 이용하는 방법에 대해서 알아보고자 합니다.
1. 리스트 다이얼로그 (List Dialog)
new MaterialDialog.Builder(context)
.items(R.array.coupon_work)
.itemsCallback(new MaterialDialog.ListCallback() {
@Override
public void onSelection(MaterialDialog dialog, View view, int which, CharSequence text) {
final CouponWork couponWork = new CouponWork(context);
switch(which){
case 0:
couponWork.doMakeStamp(item.getCouponId(), 1);
break;
case 1:
break;
case 2:
break;
case 3:
break;
}
}
})
.negativeText(R.string.btn_negative_text)
.show();
타이틀을 정해주고 넣어주고 싶으면
.title() 로 정해주면 됩니다.
위의 경우에는 타이틀은 제가 없앴습니다.
리스트의 선택되는 구분자는 which 값을 이용하시면 됩니다.
결과 화면 입니다
2. 테마 다이얼로그(Theme Dialog)
테마도 입힐 수 있습니다 :)
new MaterialDialog.Builder(context)
.title("쿠폰삭제")
.content("쿠폰을 정말 삭제할겁니까?")
.positiveText("확인")
.negativeText("취소")
.onPositive(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
couponWork.deleteCoupon(item.getCouponId(), item.getStoreId());
}
})
.theme(Theme.DARK)
.show();
또한 콜백메소드도 언제든지 위 와 같이 추가하여, 로직을 관리할 수 있습니다.
이쁘죵? ㅎㅎ
콜백 메소드를 관리하는 api 입니다.
new MaterialDialog.Builder(this) .onPositive(new MaterialDialog.SingleButtonCallback() { @Override public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) { // TODO } }) .onNeutral(new MaterialDialog.SingleButtonCallback() { @Override public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) { // TODO } }) .onNegative(new MaterialDialog.SingleButtonCallback() { @Override public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) { // TODO } }) .onAny(new MaterialDialog.SingleButtonCallback() { @Override public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) { // TODO } });
점점 이쁘고 편리하다는 것을 느끼게 되네요 ㅎㅎ