Skip to content

Commit a9e456b

Browse files
committed
Release 1.3.1
1 parent 93f3b80 commit a9e456b

File tree

9 files changed

+73
-27
lines changed

9 files changed

+73
-27
lines changed

README.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,14 @@ Download sample [apk][7]
2828

2929
Gradle:
3030
```groovy
31-
compile 'com.github.armcha:SpaceNavigationView:1.3.0'
31+
compile 'com.github.armcha:SpaceNavigationView:1.3.1'
3232
```
3333
Maven:
3434
```xml
3535
<dependency>
3636
<groupId>com.github.armcha</groupId>
3737
<artifactId>SpaceNavigationView</artifactId>
38-
<version>1.3.0</version>
38+
<version>1.3.1</version>
3939
<type>pom</type>
4040
</dependency>
4141
```
@@ -255,9 +255,20 @@ Now you can change space navigation view background color if it already set up
255255
```
256256
![](screens/gif3.gif)
257257

258+
If you want to show full badge text or show 9+
259+
```java
260+
spaceNavigationView.shouldShowFullBadgeText(true);
261+
```
262+
263+
[10]: https://github.com/armcha/Space-Navigation-View/issues/16
264+
[11]: https://github.com/armcha/Space-Navigation-View/issues/18
258265

259266
##Versions
260267

268+
##1.4.0
269+
* Added method shouldShowFullBadgeText
270+
* Fixed issue [#16][10] , [#18][11]
271+
261272
##1.3.0
262273
* Added SpaceOnLongClickListener
263274
* Added changeSpaceBackgroundColor method

Sample/src/main/java/com/luseen/spacenavigationview/MainActivity.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,23 +34,22 @@ protected void onCreate(Bundle savedInstanceState) {
3434
//spaceNavigationView.addSpaceItem(new SpaceItem("LIKE", R.drawable.bell));
3535
//spaceNavigationView.addSpaceItem(new SpaceItem("ACCOUNT", R.drawable.account));
3636
//spaceNavigationView.showIconOnly();
37+
spaceNavigationView.shouldShowFullBadgeText(true);
3738

3839
spaceNavigationView.setSpaceOnClickListener(new SpaceOnClickListener() {
3940
@Override
4041
public void onCentreButtonClick() {
41-
spaceNavigationView.changeSpaceBackgroundColor(ContextCompat.getColor(MainActivity.this,R.color.colorAccent));
4242
Log.d("onCentreButtonClick ", "onCentreButtonClick");
43+
spaceNavigationView.shouldShowFullBadgeText(true);
4344
}
4445

4546
@Override
4647
public void onItemClick(int itemIndex, String itemName) {
47-
spaceNavigationView.changeCenterButtonIcon(R.drawable.magnify);
4848
Log.d("onItemClick ", "" + itemIndex + " " + itemName);
4949
}
5050

5151
@Override
5252
public void onItemReselected(int itemIndex, String itemName) {
53-
spaceNavigationView.changeSpaceBackgroundColor(ContextCompat.getColor(MainActivity.this,R.color.colorPrimary));
5453
Log.d("onItemReselected ", "" + itemIndex + " " + itemName);
5554
}
5655
});
@@ -75,7 +74,7 @@ public void onItemLongClick(int itemIndex, String itemName) {
7574
@Override
7675
public void onClick(int position) {
7776
if (position == 0) {
78-
spaceNavigationView.showBadgeAtIndex(1, 4, ContextCompat.getColor(MainActivity.this, R.color.badge_background_color));
77+
spaceNavigationView.showBadgeAtIndex(1, 54, ContextCompat.getColor(MainActivity.this, R.color.badge_background_color));
7978
} else if (position == 1) {
8079
spaceNavigationView.hideBudgeAtIndex(1);
8180
}

Sample/src/main/res/layout/activity_main.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,4 @@
1717
android:layout_width="match_parent"
1818
android:layout_height="match_parent"
1919
android:layout_gravity="bottom" />
20-
2120
</FrameLayout>

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ buildscript {
44
jcenter()
55
}
66
dependencies {
7-
classpath 'com.android.tools.build:gradle:2.2.0-rc1'
7+
classpath 'com.android.tools.build:gradle:2.2.0-rc2'
88
classpath 'com.novoda:bintray-release:0.3.4'
99
}
1010
}

spacelib/build.gradle

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,15 @@ android {
2424

2525
dependencies {
2626
compile fileTree(dir: 'libs', include: ['*.jar'])
27-
compile 'com.android.support:appcompat-v7:24.2.0'
28-
compile 'com.android.support:support-v4:24.2.0'
29-
compile 'com.android.support:design:24.2.0'
27+
compile 'com.android.support:appcompat-v7:24.2.1'
28+
compile 'com.android.support:support-v4:24.2.1'
29+
compile 'com.android.support:design:24.2.1'
3030
}
3131

3232
publish {
3333
groupId = 'com.github.armcha'
3434
artifactId = 'SpaceNavigationView'
35-
publishVersion = '1.3.0'
35+
publishVersion = '1.3.1'
3636
desc = 'Spaces Navigation View'
3737
licences = ['MIT']
3838
website = 'https://github.com/armcha/Space-Navigation-View'

spacelib/src/main/java/com/luseen/spacenavigation/BadgeHelper.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,14 @@ class BadgeHelper {
3333
* @param view target badge
3434
* @param badgeItem BadgeItem object
3535
*/
36-
static void showBadge(RelativeLayout view, BadgeItem badgeItem) {
36+
static void showBadge(RelativeLayout view, BadgeItem badgeItem, boolean shouldShowBadgeWithNinePlus) {
3737

3838
Utils.changeViewVisibilityVisible(view);
3939
TextView badgeTextView = (TextView) view.findViewById(R.id.badge_text_view);
40-
badgeTextView.setText(badgeItem.getBadgeText());
40+
if (shouldShowBadgeWithNinePlus)
41+
badgeTextView.setText(badgeItem.getBadgeText());
42+
else
43+
badgeTextView.setText(badgeItem.getFullBadgeText());
4144

4245
view.setScaleX(0);
4346
view.setScaleY(0);
@@ -80,15 +83,18 @@ public void onAnimationEnd(final View view) {
8083
* @param view target budge
8184
* @param badgeItem BadgeItem object
8285
*/
83-
static void forceShowBadge(RelativeLayout view, BadgeItem badgeItem) {
86+
static void forceShowBadge(RelativeLayout view, BadgeItem badgeItem, boolean shouldShowBadgeWithNinePlus) {
8487
Utils.changeViewVisibilityVisible(view);
8588
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
8689
view.setBackground(makeShapeDrawable(badgeItem.getBadgeColor()));
8790
} else {
8891
view.setBackgroundDrawable(makeShapeDrawable(badgeItem.getBadgeColor()));
8992
}
9093
TextView badgeTextView = (TextView) view.findViewById(R.id.badge_text_view);
91-
badgeTextView.setText(badgeItem.getBadgeText());
94+
if (shouldShowBadgeWithNinePlus)
95+
badgeTextView.setText(badgeItem.getBadgeText());
96+
else
97+
badgeTextView.setText(badgeItem.getFullBadgeText());
9298
}
9399

94100
/**

spacelib/src/main/java/com/luseen/spacenavigation/BadgeItem.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ int getIntBadgeText() {
4646
return badgeText;
4747
}
4848

49+
String getFullBadgeText() {
50+
return String.valueOf(badgeText);
51+
}
52+
4953
String getBadgeText() {
5054
String badgeStringText;
5155
if (badgeText > BADGE_TEXT_MAX_NUMBER) {

spacelib/src/main/java/com/luseen/spacenavigation/SpaceNavigationView.java

Lines changed: 35 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@ public class SpaceNavigationView extends RelativeLayout {
5757

5858
private static final String SPACE_BACKGROUND_COLOR_KEY = "backgroundColorKey";
5959

60+
private static final String BADGE_FULL_TEXT_KEY = "badgeFullTextKey";
61+
6062
private static final int NOT_DEFINED = -777; //random number, not - 1 because it is Color.WHITE
6163

6264
private static final int MAX_SPACE_ITEM_SIZE = 4;
@@ -127,6 +129,8 @@ public class SpaceNavigationView extends RelativeLayout {
127129

128130
private boolean isCustomFont = false;
129131

132+
private boolean shouldShowBadgeWithNinePlus = true;
133+
130134
/**
131135
* Constructors
132136
*/
@@ -584,11 +588,21 @@ private void restoreCurrentItem() {
584588
@SuppressWarnings("unchecked")
585589
private void restoreBadges() {
586590
Bundle restoredBundle = savedInstanceState;
587-
if (restoredBundle != null && restoredBundle.containsKey(BUDGES_ITEM_BUNDLE_KEY)) {
588-
badgeSaveInstanceHashMap = (HashMap<Integer, Object>) savedInstanceState.getSerializable(BUDGES_ITEM_BUNDLE_KEY);
589-
if (badgeSaveInstanceHashMap != null) {
590-
for (Integer integer : badgeSaveInstanceHashMap.keySet()) {
591-
BadgeHelper.forceShowBadge(badgeList.get(integer), (BadgeItem) badgeSaveInstanceHashMap.get(integer));
591+
592+
if (restoredBundle != null) {
593+
if (restoredBundle.containsKey(BADGE_FULL_TEXT_KEY)) {
594+
shouldShowBadgeWithNinePlus = restoredBundle.getBoolean(BADGE_FULL_TEXT_KEY);
595+
}
596+
597+
if (restoredBundle.containsKey(BUDGES_ITEM_BUNDLE_KEY)) {
598+
badgeSaveInstanceHashMap = (HashMap<Integer, Object>) savedInstanceState.getSerializable(BUDGES_ITEM_BUNDLE_KEY);
599+
if (badgeSaveInstanceHashMap != null) {
600+
for (Integer integer : badgeSaveInstanceHashMap.keySet()) {
601+
BadgeHelper.forceShowBadge(
602+
badgeList.get(integer),
603+
(BadgeItem) badgeSaveInstanceHashMap.get(integer),
604+
shouldShowBadgeWithNinePlus);
605+
}
592606
}
593607
}
594608
}
@@ -667,6 +681,7 @@ public void onSaveInstanceState(Bundle outState) {
667681
outState.putInt(CURRENT_SELECTED_ITEM_BUNDLE_KEY, currentSelectedItem);
668682
outState.putInt(CENTRE_BUTTON_ICON_KEY, centreButtonIcon);
669683
outState.putInt(SPACE_BACKGROUND_COLOR_KEY, spaceBackgroundColor);
684+
outState.putBoolean(BADGE_FULL_TEXT_KEY, shouldShowBadgeWithNinePlus);
670685

671686
if (badgeSaveInstanceHashMap.size() > 0)
672687
outState.putSerializable(BUDGES_ITEM_BUNDLE_KEY, badgeSaveInstanceHashMap);
@@ -831,7 +846,7 @@ public void showBadgeAtIndex(int itemIndex, int badgeText, @ColorInt int badgeCo
831846
}
832847

833848
BadgeItem badgeItem = new BadgeItem(itemIndex, badgeText, badgeColor);
834-
BadgeHelper.showBadge(badgeView, badgeItem);
849+
BadgeHelper.showBadge(badgeView, badgeItem, shouldShowBadgeWithNinePlus);
835850
badgeSaveInstanceHashMap.put(itemIndex, badgeItem);
836851
}
837852
}
@@ -872,7 +887,10 @@ public void changeBadgeTextAtIndex(int badgeIndex, int badgeText) {
872887
(((BadgeItem) badgeSaveInstanceHashMap.get(badgeIndex)).getIntBadgeText() != badgeText)) {
873888
BadgeItem currentBadgeItem = (BadgeItem) badgeSaveInstanceHashMap.get(badgeIndex);
874889
BadgeItem badgeItemForSave = new BadgeItem(badgeIndex, badgeText, currentBadgeItem.getBadgeColor());
875-
BadgeHelper.forceShowBadge(badgeList.get(badgeIndex), badgeItemForSave);
890+
BadgeHelper.forceShowBadge(
891+
badgeList.get(badgeIndex),
892+
badgeItemForSave,
893+
shouldShowBadgeWithNinePlus);
876894
badgeSaveInstanceHashMap.put(badgeIndex, badgeItemForSave);
877895
}
878896
}
@@ -955,4 +973,14 @@ public void changeSpaceBackgroundColor(@ColorInt int color) {
955973
setBackgroundColors();
956974
centreContent.changeBackgroundColor(color);
957975
}
976+
977+
978+
/**
979+
* If you want to show full badge text or show 9+
980+
*
981+
* @param shouldShowBadgeWithNinePlus false for full text
982+
*/
983+
public void shouldShowFullBadgeText(boolean shouldShowBadgeWithNinePlus) {
984+
this.shouldShowBadgeWithNinePlus = shouldShowBadgeWithNinePlus;
985+
}
958986
}

spacelib/src/main/res/layout/space_item_view.xml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@
1616
<ImageView
1717
android:id="@+id/space_icon"
1818
android:layout_width="@dimen/space_item_icon_default_size"
19-
android:layout_height="@dimen/space_item_icon_default_size"
20-
android:layout_centerVertical="true" />
19+
android:layout_height="@dimen/space_item_icon_default_size" />
2120

2221
<TextView
2322
android:id="@+id/space_text"
2423
android:layout_width="wrap_content"
2524
android:layout_height="wrap_content"
25+
android:layout_gravity="center_vertical"
2626
android:layout_marginLeft="10dp"
2727
android:lines="1"
2828
android:textSize="@dimen/space_item_text_default_size"
@@ -35,8 +35,8 @@
3535
android:layout_height="16dp"
3636
android:layout_alignParentTop="true"
3737
android:layout_marginLeft="@dimen/badge_left_margin"
38-
android:layout_marginTop="3dp"
3938
android:layout_marginRight="2dp"
39+
android:layout_marginTop="3dp"
4040
android:layout_toRightOf="@+id/main_content"
4141
android:visibility="gone">
4242

@@ -45,7 +45,6 @@
4545
android:layout_width="wrap_content"
4646
android:layout_height="wrap_content"
4747
android:layout_centerInParent="true"
48-
android:text="3"
4948
android:textColor="@android:color/white"
5049
android:textSize="10sp"
5150
android:textStyle="bold" />

0 commit comments

Comments
 (0)