diff --git a/README.md b/README.md
index 2fe4345..630a96a 100644
--- a/README.md
+++ b/README.md
@@ -54,7 +54,10 @@ ChocoBar is now also available in Kotlin, thanks to @JamesEllerbee
![Love Chocobar](https://user-images.githubusercontent.com/35525781/96970060-c012c080-1530-11eb-926c-59edd1844413.png)
![image](https://user-images.githubusercontent.com/26584526/136639395-7a70f775-b5d3-4ad4-8b4f-d0ce91490c18.png)
![image](https://user-images.githubusercontent.com/26584526/136639381-19bfd6f0-a34e-49f9-8b7e-4e34c4e02ba7.png)
-![image](https://user-images.githubusercontent.com/36191408/137777366-738ce9c7-d942-4ccb-845a-38f4891196ea.png)
+
+
+
+>Custom Cyan Tint was used on Info Gray.
## Documentation
[Find how to use the in-built Chocobars here](documentation/ReadMe.md)
diff --git a/app/src/main/java/com/pd/snickers/MainActivity.java b/app/src/main/java/com/pd/snickers/MainActivity.java
index 7449ee1..9e6de89 100644
--- a/app/src/main/java/com/pd/snickers/MainActivity.java
+++ b/app/src/main/java/com/pd/snickers/MainActivity.java
@@ -96,6 +96,7 @@ protected void onCreate(Bundle savedInstanceState) {
.setIcon(R.mipmap.ic_launcher)
.setActivity(MainActivity.this)
.setDuration(ChocoBar.LENGTH_INDEFINITE)
+ .setIconTint(Color.WHITE)
.build()
.show());
@@ -127,6 +128,15 @@ protected void onCreate(Bundle savedInstanceState) {
.infoGray()
.show());
+ findViewById(R.id.button_custom_tint).setOnClickListener(v-> ChocoBar.builder()
+ .setView(v)
+ .centerText()
+ .setDuration(ChocoBar.LENGTH_LONG)
+ .setIconTint(Color.CYAN)
+ .setText("Custom Cyan Tinted Icon")
+ .infoGray()
+ .show());
+
findViewById(R.id.button_next).setOnClickListener(v -> {
Intent secondaryActivityIntent = new Intent(this, SecondaryActivity.class);
startActivity(secondaryActivityIntent);
diff --git a/app/src/main/res/layout/content_example.xml b/app/src/main/res/layout/content_example.xml
index 2c2758f..3773faf 100644
--- a/app/src/main/res/layout/content_example.xml
+++ b/app/src/main/res/layout/content_example.xml
@@ -271,18 +271,38 @@
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:text="@string/info_gray"
- app:layout_constraintBottom_toTopOf="@+id/button_next"
+ app:layout_constraintBottom_toTopOf="@+id/custom_tint"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button_blocked" />
+
+
Kotlin icon
java icon
Info Gray Chocobar
+ Custom Icon Color
diff --git a/chocobar/src/main/java/com/pd/chocobar/ChocoBar.java b/chocobar/src/main/java/com/pd/chocobar/ChocoBar.java
index 7ea83d8..5c0953c 100644
--- a/chocobar/src/main/java/com/pd/chocobar/ChocoBar.java
+++ b/chocobar/src/main/java/com/pd/chocobar/ChocoBar.java
@@ -35,31 +35,33 @@
public class ChocoBar {
private enum Type {
- DEFAULT(null, null, null, null),
- GREEN(Color.parseColor("#388E3C"), R.drawable.check_mark, Color.WHITE, "SUCCESS !"),
- RED(Color.parseColor("#D50000"), R.drawable.cross_mark, Color.WHITE, "ERROR !"),
- CYAN(Color.parseColor("#e0ffff"), R.drawable.info_mark, Color.WHITE, "CYAN"),
- ORANGE(Color.parseColor("#ffa500"), R.drawable.warning_mark, Color.BLACK, "WARNING !"),
- GOOD(Color.parseColor("#C5BEBE"), R.drawable.good_mark, Color.WHITE, "GRAY_GOOD"),
- BAD(Color.parseColor("#C5BEBE"), R.drawable.bad_mark, Color.WHITE, "GRAY_BAD"),
- BLACK(Color.parseColor("#000000"), R.drawable.off_notification_mark, Color.WHITE, "Black"),
- LOVE(Color.parseColor("#E8290B"), R.drawable.ic_love, Color.BLACK, "LOVE"),
- BLOCKED(Color.parseColor("#E8290B"), R.drawable.blocked_mark, Color.BLACK, "BLOCKED"),
- NOTIFICATION_ON(Color.parseColor("#000000"), R.drawable.on_notification_mark, Color.WHITE, "NOTIFICATIONS ON"),
- INFOGRAY(Color.parseColor("#BB353535"), R.drawable.info_mark, Color.WHITE,"INFO GRAYBLUE");
+ DEFAULT(null, null, null, null, null),
+ GREEN(Color.parseColor("#388E3C"), R.drawable.check_mark, Color.WHITE, "SUCCESS !", Color.WHITE),
+ RED(Color.parseColor("#D50000"), R.drawable.cross_mark, Color.WHITE, "ERROR !", Color.WHITE),
+ CYAN(Color.parseColor("#e0ffff"), R.drawable.info_mark, Color.WHITE, "CYAN", Color.WHITE),
+ ORANGE(Color.parseColor("#ffa500"), R.drawable.warning_mark, Color.BLACK, "WARNING !", Color.BLACK),
+ GOOD(Color.parseColor("#C5BEBE"), R.drawable.good_mark, Color.WHITE, "GRAY_GOOD", Color.WHITE),
+ BAD(Color.parseColor("#C5BEBE"), R.drawable.bad_mark, Color.WHITE, "GRAY_BAD", Color.WHITE),
+ BLACK(Color.parseColor("#000000"), R.drawable.off_notification_mark, Color.WHITE, "Black", Color.WHITE),
+ LOVE(Color.parseColor("#E8290B"), R.drawable.ic_love, Color.BLACK, "LOVE", Color.BLACK),
+ BLOCKED(Color.parseColor("#E8290B"), R.drawable.blocked_mark, Color.BLACK, "BLOCKED", Color.BLACK),
+ NOTIFICATION_ON(Color.parseColor("#000000"), R.drawable.on_notification_mark, Color.WHITE, "NOTIFICATIONS ON", Color.WHITE),
+ INFOGRAY(Color.parseColor("#BB353535"), R.drawable.info_mark, Color.WHITE,"INFO GRAYBLUE", Color.parseColor("#4895ED"));
private Integer color;
private Integer iconResId;
private Integer standardTextColor;
private CharSequence text;
+ private Integer iconTint;
- Type(@ColorInt Integer color, @DrawableRes Integer iconResId, @ColorInt Integer standardTextColor, CharSequence text) {
+ Type(@ColorInt Integer color, @DrawableRes Integer iconResId, @ColorInt Integer standardTextColor, CharSequence text, @ColorInt Integer iconTint) {
this.color = color;
this.iconResId = iconResId;
this.standardTextColor = standardTextColor;
this.text = text;
+ this.iconTint = iconTint;
}
public Integer getColor() {
@@ -86,6 +88,8 @@ public Integer getStandardTextColor() {
public CharSequence getText() {
return text;
}
+
+ public Integer getIconTint(){return iconTint;}
}
private final Builder builder;
@@ -208,8 +212,13 @@ else if (builder.textColor != null)
else
text.setCompoundDrawablesWithIntrinsicBounds(builder.icon, null, transparentHelperDrawable, null);
- if (Build.VERSION.SDK_INT >= 21 && builder.type == Type.INFOGRAY){
- builder.icon.setTint(Color.parseColor("#4895ED"));
+ if (Build.VERSION.SDK_INT >= 21 && builder.iconTint != null){
+ builder.icon.setTint(builder.iconTint);
+ Log.d("TAG","HERE");
+ }
+ else if(Build.VERSION.SDK_INT >= 21 && builder.iconTint == null ){
+ builder.icon.setTint(builder.type.getIconTint());
+ Log.d("TAG","NOHERE");
}
text.setCompoundDrawablePadding(text.getResources().getDimensionPixelOffset(R.dimen.icon_padding));
}
@@ -260,6 +269,7 @@ public static class Builder {
private Drawable icon = null;
private int iconResId = 0;
private Integer backgroundColor = null;
+ private Integer iconTint = null;
private Builder() {
}
@@ -397,6 +407,11 @@ public Builder setBackgroundColor(@ColorInt int color) {
return this;
}
+ public Builder setIconTint(@ColorInt int color){
+ this.iconTint = color;
+ return this;
+ }
+
public Snackbar build() {
return make();
}
diff --git a/documentation/documentation-java.md b/documentation/documentation-java.md
index bf712c6..8652bda 100644
--- a/documentation/documentation-java.md
+++ b/documentation/documentation-java.md
@@ -122,6 +122,18 @@ ChocoBar.builder()
.show());
```
+- To display a Chocobar with Custom Icon Tint:
+```java
+ChocoBar.builder()
+ .setView(v)
+ .centerText()
+ .setDuration(ChocoBar.LENGTH_LONG)
+ .setIconTint(Color.CYAN)
+ .setText("Custom Cyan Tinted Icon")
+ .infoGray()
+ .show());
+```
+
- You can also create highly customized ChocoBars:
``` java