商城等項目中常見支付功能,多接入微信支付包以及余額支付,寫了一個支付方式選擇dialog
效果圖:

效果圖
判斷了支付金額以及余額的金額,當支付金額大于余額時,余額支付方式置灰且無法點擊

支付金額大于余額
該控件采用鏈式調(diào)用:
new PayDialog(MainActivity.this).setData(20, 15)//輸入支付金額,余額
.setListener(new PayDialog.OnPayClickListener() {
@Override
public void onPayClick(int payType) {
switch (payType) {
case PayDialog.ALI_PAY:
Toast.makeText(MainActivity.this, "支付寶", Toast.LENGTH_LONG).show();
break;
case PayDialog.WX_PAY:
Toast.makeText(MainActivity.this, "微信", Toast.LENGTH_LONG).show();
break;
case PayDialog.BALANCE_PAY:
Toast.makeText(MainActivity.this, "余額", Toast.LENGTH_LONG).show();
break;
}
}
}).show();
并且該控件支持,無余額支付的支付選擇

無余額支付方式
無余額支付方式時
new PayDialog(MainActivity.this).setData(20, 15)//輸入支付金額,余額可隨便填寫
.haveBalance(false)//設(shè)置false不現(xiàn)實余額支付,不設(shè)置默認有余額支付方式
.setListener(new PayDialog.OnPayClickListener() {
@Override
public void onPayClick(int payType) {
switch (payType) {
case PayDialog.ALI_PAY:
Toast.makeText(MainActivity.this, "支付寶", Toast.LENGTH_LONG).show();
break;
case PayDialog.WX_PAY:
Toast.makeText(MainActivity.this, "微信", Toast.LENGTH_LONG).show();
break;
case PayDialog.BALANCE_PAY:
Toast.makeText(MainActivity.this, "余額", Toast.LENGTH_LONG).show();
break;
}
}
}).show();
此控件代碼已上傳GitHub