Magic dialog, a common dialog for adapter all situation, you only need to customize layout and logic.
#Demonstration
//default`s dialog
defaultMagicDialog = new MagicDialog.Builder(this)
.setDialogDelegate(new DialogDelegate() {
@Override
public int getDialogViewLayoutId() {
return R.layout.dialog_default;
}
@Override
public void onCreate(final MagicDialog magicDialog) {
//Change text color
magicDialog.setTextColorRes(R.id.btn_click_me, R.color.colorAccent);
//Change text size
magicDialog.setTextSize(R.id.btn_click_me, 16);
magicDialog.setOnClickListener(R.id.btn_click_me, new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "默认弹窗一", Toast.LENGTH_SHORT).show();
magicDialog.dismiss();
}
});
}
})
.build();
//change attribute`s dialog
changeMagicDialog = new MagicDialog.Builder(this)
.setWidth(0.7f)
.setBackgroundDrawableResource(R.drawable.border_corner_pink)
.setGravity(Gravity.BOTTOM)
.setRelativeOffsetY(150)
.setDialogDelegate(new DialogDelegate() {
@Override
public int getDialogViewLayoutId() {
return R.layout.dialog_default;
}
@Override
public void onCreate(final MagicDialog magicDialog) {
//Change text color
magicDialog.setTextColorRes(R.id.btn_click_me, R.color.colorPrimary);
//Change text size
magicDialog.setTextSize(R.id.btn_click_me, 16);
magicDialog.setOnClickListener(R.id.btn_click_me, new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "弹窗二", Toast.LENGTH_SHORT).show();
magicDialog.dismiss();
}
});
}
})
.build();#Customizable methods
| method | explain |
|---|---|
| setWidth(float width) | width |
| setHeight(float height) | height |
| setGravity(int gravity) | gravity |
| setDimAmount(float dimAmount) | dimAmount |
| setAlpha(float alpha) | alpha |
| setRelativeOffsetX(int relativeOffsetX) | relativeOffsetX |
| setRelativeOffsetY(int relativeOffsetY) | relativeOffsetY |
| setBackgroundDrawableResource(int backgroundDrawableResource) | backgroundDrawableResource |
| etDialogDelegate(DialogDelegate dialogDelegate) | dialog delegate |