summaryrefslogtreecommitdiffstats
path: root/sparkbutton/src/main/java/com/varunest/sparkbutton/SparkButtonBuilder.java
blob: f79e492e8615c72152f9b83e79e2bac7a91462be (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package com.varunest.sparkbutton;

import android.content.Context;

import androidx.annotation.ColorInt;
import androidx.annotation.DrawableRes;

import com.varunest.sparkbutton.helpers.Utils;

/**
 * @author varun on 07/07/16.
 */
public class SparkButtonBuilder {
    private final SparkButton sparkButton;
    private final Context context;

    public SparkButtonBuilder(Context context) {
        this.context = context;
        sparkButton = new SparkButton(context);
    }

    public SparkButtonBuilder setActiveImage(@DrawableRes int resourceId) {
        sparkButton.setActiveImage(resourceId);
        return this;
    }

    public SparkButtonBuilder setInactiveImage(@DrawableRes int resourceId) {
        sparkButton.setInactiveImage(resourceId);
        return this;
    }

    public SparkButtonBuilder setPrimaryColor(@ColorInt int color) {
        sparkButton.setPrimaryColor(color);
        return this;
    }

    public SparkButtonBuilder setSecondaryColor(int color) {
        sparkButton.setSecondaryColor(color);
        return this;
    }

    public SparkButtonBuilder setImageSizePx(int px) {
        sparkButton.setImageSize(px);
        return this;
    }

    public SparkButtonBuilder setImageSizeDp(int dp) {
        sparkButton.setImageSize(Utils.dpToPx(context, dp));
        return this;
    }

    public SparkButtonBuilder setAnimationSpeed(float speed) {
        sparkButton.setAnimationSpeed(speed);
        return this;
    }

    public SparkButton build() {
        sparkButton.init();
        return sparkButton;
    }
}