package com.nightonke.boommenusample; import android.graphics.Color; import com.nightonke.boommenu.BoomButtons.HamButton; import com.nightonke.boommenu.BoomButtons.SimpleCircleButton; import com.nightonke.boommenu.BoomButtons.TextInsideCircleButton; import com.nightonke.boommenu.BoomButtons.TextOutsideCircleButton; import com.nightonke.boommenu.Util; /** * Created by Weiping Huang at 23:44 on 16/11/21 * For Personal Open Source * Contact me at 2584541288@qq.com or nightonke@outlook.com * For more projects: https://github.com/Nightonke */ public class BuilderManager { private static int[] imageResources = new int[]{ R.drawable.bat, R.drawable.bear, R.drawable.bee, R.drawable.butterfly, R.drawable.cat, R.drawable.deer, R.drawable.dolphin, R.drawable.eagle, R.drawable.horse, R.drawable.elephant, R.drawable.owl, R.drawable.peacock, R.drawable.pig, R.drawable.rat, R.drawable.snake, R.drawable.squirrel }; private static int imageResourceIndex = 0; static int getImageResource() { if (imageResourceIndex >= imageResources.length) imageResourceIndex = 0; return imageResources[imageResourceIndex++]; } static SimpleCircleButton.Builder getSimpleCircleButtonBuilder() { return new SimpleCircleButton.Builder() .normalImageRes(getImageResource()); } static SimpleCircleButton.Builder getSquareSimpleCircleButtonBuilder() { return new SimpleCircleButton.Builder() .isRound(false) .shadowCornerRadius(Util.dp2px(20)) .buttonCornerRadius(Util.dp2px(20)) .normalImageRes(getImageResource()); } static TextInsideCircleButton.Builder getTextInsideCircleButtonBuilder() { return new TextInsideCircleButton.Builder() .normalImageRes(getImageResource()) .normalTextRes(R.string.text_inside_circle_button_text_normal); } static TextInsideCircleButton.Builder getSquareTextInsideCircleButtonBuilder() { return new TextInsideCircleButton.Builder() .isRound(false) .shadowCornerRadius(Util.dp2px(10)) .buttonCornerRadius(Util.dp2px(10)) .normalImageRes(getImageResource()) .normalTextRes(R.string.text_inside_circle_button_text_normal); } static TextInsideCircleButton.Builder getTextInsideCircleButtonBuilderWithDifferentPieceColor() { return new TextInsideCircleButton.Builder() .normalImageRes(getImageResource()) .normalTextRes(R.string.text_inside_circle_button_text_normal) .pieceColor(Color.WHITE); } static TextOutsideCircleButton.Builder getTextOutsideCircleButtonBuilder() { return new TextOutsideCircleButton.Builder() .normalImageRes(getImageResource()) .normalTextRes(R.string.text_outside_circle_button_text_normal); } static TextOutsideCircleButton.Builder getSquareTextOutsideCircleButtonBuilder() { return new TextOutsideCircleButton.Builder() .isRound(false) .shadowCornerRadius(Util.dp2px(15)) .buttonCornerRadius(Util.dp2px(15)) .normalImageRes(getImageResource()) .normalTextRes(R.string.text_outside_circle_button_text_normal); } static TextOutsideCircleButton.Builder getTextOutsideCircleButtonBuilderWithDifferentPieceColor() { return new TextOutsideCircleButton.Builder() .normalImageRes(getImageResource()) .normalTextRes(R.string.text_outside_circle_button_text_normal) .pieceColor(Color.WHITE); } static HamButton.Builder getHamButtonBuilder() { return new HamButton.Builder() .normalImageRes(getImageResource()) .normalTextRes(R.string.text_ham_button_text_normal) .subNormalTextRes(R.string.text_ham_button_sub_text_normal); } static HamButton.Builder getHamButtonBuilder(String text, String subText) { return new HamButton.Builder() .normalImageRes(getImageResource()) .normalText(text) .subNormalText(subText); } static HamButton.Builder getPieceCornerRadiusHamButtonBuilder() { return new HamButton.Builder() .normalImageRes(getImageResource()) .normalTextRes(R.string.text_ham_button_text_normal) .subNormalTextRes(R.string.text_ham_button_sub_text_normal); } static HamButton.Builder getHamButtonBuilderWithDifferentPieceColor() { return new HamButton.Builder() .normalImageRes(getImageResource()) .normalTextRes(R.string.text_ham_button_text_normal) .subNormalTextRes(R.string.text_ham_button_sub_text_normal) .pieceColor(Color.WHITE); } private static BuilderManager ourInstance = new BuilderManager(); public static BuilderManager getInstance() { return ourInstance; } private BuilderManager() { } }