package com.mylhyl.circledialog.params; import android.graphics.Typeface; import android.os.Parcel; import android.os.Parcelable; import android.view.Gravity; import com.mylhyl.circledialog.res.values.CircleColor; import com.mylhyl.circledialog.res.values.CircleDimen; /** * Created by hupei on 2017/3/30. *

* 对话框参数 */ public class DialogParams implements Parcelable { public static final Creator CREATOR = new Creator() { @Override public DialogParams createFromParcel(Parcel source) { return new DialogParams(source); } @Override public DialogParams[] newArray(int size) { return new DialogParams[size]; } }; /** * 对话框的位置 */ public int gravity = Gravity.NO_GRAVITY; /** * 是否触摸外部关闭 */ public boolean canceledOnTouchOutside = true; /** * 返回键是否关闭 */ public boolean cancelable = true; /** * 对话框透明度,范围:0-1;1不透明 */ public float alpha = CircleDimen.DIALOG_ALPHA; /** * 对话框宽度,范围:0-1;1整屏宽 */ public float width = CircleDimen.DIALOG_WIDTH; /** * 对话框与屏幕边距 px */ public int[] mPadding; /** * 对话框弹出动画,StyleRes */ public int animStyle; /** * 对话框刷新动画,AnimRes */ public int refreshAnimation; /** * 对话框背景是否昏暗,默认true */ public boolean isDimEnabled = true; /** * 背景灰暗值,范围:0-1;0不灰暗 */ public float dimAmount = CircleDimen.DIM_AMOUNT; /** * 对话框的背景色 */ public int backgroundColor = CircleColor.DIALOG_BACKGROUND; /** * 对话框的圆角半径 */ public int radius = CircleDimen.DIALOG_RADIUS; /** * 对话框 x 坐标偏移 px */ public int xOff; /** * 对话框 y 坐标偏移 px */ public int yOff = -1; /** * 按下颜色值 */ public int backgroundColorPress = CircleColor.DIALOG_BACKGROUND_PRESS; public float maxHeight;//最大高度 public int systemUiVisibility; /** * 延迟弹出 */ public int delayShow; public Typeface typeface; public boolean manualClose; // true 手动关闭对话框,默认按钮事件响应后自动关闭 public DialogParams() { } protected DialogParams(Parcel in) { this.gravity = in.readInt(); this.canceledOnTouchOutside = in.readByte() != 0; this.cancelable = in.readByte() != 0; this.alpha = in.readFloat(); this.width = in.readFloat(); this.mPadding = in.createIntArray(); this.animStyle = in.readInt(); this.refreshAnimation = in.readInt(); this.isDimEnabled = in.readByte() != 0; this.dimAmount = in.readFloat(); this.backgroundColor = in.readInt(); this.radius = in.readInt(); this.xOff = in.readInt(); this.yOff = in.readInt(); this.backgroundColorPress = in.readInt(); this.maxHeight = in.readFloat(); this.systemUiVisibility = in.readInt(); this.delayShow = in.readInt(); this.manualClose = in.readByte() != 0; } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeInt(this.gravity); dest.writeByte(this.canceledOnTouchOutside ? (byte) 1 : (byte) 0); dest.writeByte(this.cancelable ? (byte) 1 : (byte) 0); dest.writeFloat(this.alpha); dest.writeFloat(this.width); dest.writeIntArray(this.mPadding); dest.writeInt(this.animStyle); dest.writeInt(this.refreshAnimation); dest.writeByte(this.isDimEnabled ? (byte) 1 : (byte) 0); dest.writeFloat(this.dimAmount); dest.writeInt(this.backgroundColor); dest.writeInt(this.radius); dest.writeInt(this.xOff); dest.writeInt(this.yOff); dest.writeInt(this.backgroundColorPress); dest.writeFloat(this.maxHeight); dest.writeInt(this.systemUiVisibility); dest.writeInt(this.delayShow); dest.writeByte(this.manualClose ? (byte) 1 : (byte) 0); } }