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);
}
}