DividerBean.java 6.87 KB
package com.cnlive.goldenline.ui.model;

import android.os.Parcel;
import android.os.Parcelable;

import java.io.Serializable;

/**
 * Description:将列表中分割线作为特定布局显示在RecyclerView中
 * Created on 2017/3/5
 * Author : 萧
 */
public class DividerBean implements Serializable, Cloneable, Parcelable {

    //TODO 设置原始数值 还是设置转换dp以后的值????
    private float width;

    private float height;

    private int leftMargin;

    private int rightMargin;

    private int topMargin;

    private int bottomMargin;

    private int paddingLeft;

    private int paddingRight;

    private int paddingTop;

    private int paddingBottom;
    // 设置Color 还是 这是ColorRes ???
    private int bgColor;

    private int gravity;

    public DividerBean() {
    }

    public DividerBean(int width, int height, int paddingLeft, int paddingRight, int paddingTop, int paddingBottom, int bgColor) {
        this.width = width;
        this.height = height;
        this.paddingLeft = paddingLeft;
        this.paddingRight = paddingRight;
        this.paddingTop = paddingTop;
        this.paddingBottom = paddingBottom;
        this.bgColor = bgColor;
    }

    public DividerBean(int width, int height, int leftMargin, int rightMargin, int topMargin, int bottomMargin, int paddingLeft, int paddingRight, int paddingTop, int paddingBottom, int bgColor) {
        this.width = width;
        this.height = height;
        this.leftMargin = leftMargin;
        this.rightMargin = rightMargin;
        this.topMargin = topMargin;
        this.bottomMargin = bottomMargin;
        this.paddingLeft = paddingLeft;
        this.paddingRight = paddingRight;
        this.paddingTop = paddingTop;
        this.paddingBottom = paddingBottom;
        this.bgColor = bgColor;
    }

    public DividerBean(int width, int height, int leftMargin, int rightMargin, int topMargin, int bottomMargin, int paddingLeft, int paddingRight, int paddingTop, int paddingBottom, int bgColor, int gravity) {
        this.width = width;
        this.height = height;
        this.leftMargin = leftMargin;
        this.rightMargin = rightMargin;
        this.topMargin = topMargin;
        this.bottomMargin = bottomMargin;
        this.paddingLeft = paddingLeft;
        this.paddingRight = paddingRight;
        this.paddingTop = paddingTop;
        this.paddingBottom = paddingBottom;
        this.bgColor = bgColor;
        this.gravity = gravity;
    }

    public DividerBean buildDivider1() {
//        this.bgColor
        this.height = 1;
        return this;
    }

    public int getGravity() {
        return gravity;
    }

    public void setGravity(int gravity) {
        this.gravity = gravity;
    }

    public float getWidth() {
        return width;
    }

    public void setWidth(float width) {
        this.width = width;
    }

    public float getHeight() {
        return height;
    }

    public void setHeight(float height) {
        this.height = height;
    }

    public int getPaddingLeft() {
        return paddingLeft;
    }

    public void setPaddingLeft(int paddingLeft) {
        this.paddingLeft = paddingLeft;
    }

    public int getPaddingRight() {
        return paddingRight;
    }

    public void setPaddingRight(int paddingRight) {
        this.paddingRight = paddingRight;
    }

    public int getPaddingTop() {
        return paddingTop;
    }

    public void setPaddingTop(int paddingTop) {
        this.paddingTop = paddingTop;
    }

    public int getPaddingBottom() {
        return paddingBottom;
    }

    public void setPaddingBottom(int paddingBottom) {
        this.paddingBottom = paddingBottom;
    }

    public int getBgColor() {
        return bgColor;
    }

    public void setBgColor(int bgColor) {
        this.bgColor = bgColor;
    }

    public int getLeftMargin() {
        return leftMargin;
    }

    public void setLeftMargin(int leftMargin) {
        this.leftMargin = leftMargin;
    }

    public int getRightMargin() {
        return rightMargin;
    }

    public void setRightMargin(int rightMargin) {
        this.rightMargin = rightMargin;
    }

    public int getTopMargin() {
        return topMargin;
    }

    public void setTopMargin(int topMargin) {
        this.topMargin = topMargin;
    }

    public int getBottomMargin() {
        return bottomMargin;
    }

    public void setBottomMargin(int bottomMargin) {
        this.bottomMargin = bottomMargin;
    }

    @Override
    public String toString() {
        return "DividerBean{" +
                "width=" + width +
                ", height=" + height +
                ", leftMargin=" + leftMargin +
                ", rightMargin=" + rightMargin +
                ", topMargin=" + topMargin +
                ", bottomMargin=" + bottomMargin +
                ", paddingLeft=" + paddingLeft +
                ", paddingRight=" + paddingRight +
                ", paddingTop=" + paddingTop +
                ", paddingBottom=" + paddingBottom +
                ", bgColor=" + bgColor +
                '}';
    }

    @Override
    public DividerBean clone() throws CloneNotSupportedException {
        return (DividerBean) super.clone();
    }

    @Override
    public boolean equals(Object o) {
        return super.equals(o);
    }

    @Override
    protected void finalize() throws Throwable {
        super.finalize();
    }

    @Override
    public int hashCode() {
        return super.hashCode();
    }


    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeFloat(this.width);
        dest.writeFloat(this.height);
        dest.writeInt(this.leftMargin);
        dest.writeInt(this.rightMargin);
        dest.writeInt(this.topMargin);
        dest.writeInt(this.bottomMargin);
        dest.writeInt(this.paddingLeft);
        dest.writeInt(this.paddingRight);
        dest.writeInt(this.paddingTop);
        dest.writeInt(this.paddingBottom);
        dest.writeInt(this.bgColor);
        dest.writeInt(this.gravity);
    }

    protected DividerBean(Parcel in) {
        this.width = in.readFloat();
        this.height = in.readFloat();
        this.leftMargin = in.readInt();
        this.rightMargin = in.readInt();
        this.topMargin = in.readInt();
        this.bottomMargin = in.readInt();
        this.paddingLeft = in.readInt();
        this.paddingRight = in.readInt();
        this.paddingTop = in.readInt();
        this.paddingBottom = in.readInt();
        this.bgColor = in.readInt();
        this.gravity = in.readInt();
    }

    public static final Parcelable.Creator<DividerBean> CREATOR = new Parcelable.Creator<DividerBean>() {
        @Override
        public DividerBean createFromParcel(Parcel source) {
            return new DividerBean(source);
        }

        @Override
        public DividerBean[] newArray(int size) {
            return new DividerBean[size];
        }
    };
}