From 50306fe94f676f3bb9dbcffecfbc1a0df0059bb0 Mon Sep 17 00:00:00 2001 From: Irfan Raza Date: Wed, 14 Mar 2018 19:25:42 +0530 Subject: [PATCH 1/2] new activity to show badge --- .idea/modules.xml | 2 + .idea/vcs.xml | 6 + Sample/src/main/AndroidManifest.xml | 2 + .../ActivityWithBadge.java | 109 ++++++++++++++++++ .../spacenavigationview/MainActivity.java | 7 +- build.gradle | 4 +- gradle/wrapper/gradle-wrapper.properties | 4 +- spacelib/src/main/res/drawable/near_me.xml | 2 +- .../src/main/res/layout/space_item_view.xml | 12 +- 9 files changed, 138 insertions(+), 10 deletions(-) create mode 100644 .idea/vcs.xml create mode 100644 Sample/src/main/java/com/luseen/spacenavigationview/ActivityWithBadge.java diff --git a/.idea/modules.xml b/.idea/modules.xml index 97a9141..4a01aad 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -2,9 +2,11 @@ + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Sample/src/main/AndroidManifest.xml b/Sample/src/main/AndroidManifest.xml index 046a5d0..1ba604f 100644 --- a/Sample/src/main/AndroidManifest.xml +++ b/Sample/src/main/AndroidManifest.xml @@ -15,6 +15,8 @@ + + \ No newline at end of file diff --git a/Sample/src/main/java/com/luseen/spacenavigationview/ActivityWithBadge.java b/Sample/src/main/java/com/luseen/spacenavigationview/ActivityWithBadge.java new file mode 100644 index 0000000..4c02c5b --- /dev/null +++ b/Sample/src/main/java/com/luseen/spacenavigationview/ActivityWithBadge.java @@ -0,0 +1,109 @@ +package com.luseen.spacenavigationview; + +import android.os.Bundle; +import android.support.v4.content.ContextCompat; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.GridLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.util.Log; +import android.widget.Toast; + +import com.luseen.spacenavigation.SpaceItem; +import com.luseen.spacenavigation.SpaceNavigationView; +import com.luseen.spacenavigation.SpaceOnClickListener; +import com.luseen.spacenavigation.SpaceOnLongClickListener; + +import java.util.ArrayList; +import java.util.List; + + +public class ActivityWithBadge extends AppCompatActivity { + + private SpaceNavigationView spaceNavigationView; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + spaceNavigationView = (SpaceNavigationView) findViewById(R.id.space); + spaceNavigationView.initWithSaveInstanceState(savedInstanceState); + spaceNavigationView.addSpaceItem(new SpaceItem("HOME", R.drawable.account)); + spaceNavigationView.addSpaceItem(new SpaceItem("SEARCH", R.drawable.magnify)); + spaceNavigationView.addSpaceItem(new SpaceItem("HOME", R.drawable.account)); + spaceNavigationView.addSpaceItem(new SpaceItem("SEARCH", R.drawable.magnify)); + spaceNavigationView.shouldShowFullBadgeText(false); + spaceNavigationView.setCentreButtonIconColorFilterEnabled(false); + + spaceNavigationView.setSpaceOnClickListener(new SpaceOnClickListener() { + @Override + public void onCentreButtonClick() { + Log.d("onCentreButtonClick ", "onCentreButtonClick"); + spaceNavigationView.shouldShowFullBadgeText(true); + spaceNavigationView.showBadgeAtIndex(1, 23, getResources().getColor(R.color.colorPrimary)); + spaceNavigationView.showBadgeAtIndex(2, 23, getResources().getColor(R.color.colorPrimary)); + } + + @Override + public void onItemClick(int itemIndex, String itemName) { + Log.d("onItemClick ", "" + itemIndex + " " + itemName); + } + + @Override + public void onItemReselected(int itemIndex, String itemName) { + Log.d("onItemReselected ", "" + itemIndex + " " + itemName); + } + }); + + spaceNavigationView.setSpaceOnLongClickListener(new SpaceOnLongClickListener() { + @Override + public void onCentreButtonLongClick() { + Toast.makeText(ActivityWithBadge.this, "onCentreButtonLongClick", Toast.LENGTH_SHORT).show(); + } + + @Override + public void onItemLongClick(int itemIndex, String itemName) { + Toast.makeText(ActivityWithBadge.this, itemIndex + " " + itemName, Toast.LENGTH_SHORT).show(); + } + }); + spaceNavigationView.showIconOnly(); + setUpRecyclerView(); + } + + @Override + protected void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + spaceNavigationView.onSaveInstanceState(outState); + } + + private void setUpRecyclerView() { + RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerView); + RecyclerAdapter adapter = new RecyclerAdapter(dummyStrings()); + recyclerView.setHasFixedSize(true); + recyclerView.setLayoutManager(new GridLayoutManager(this, 2)); + recyclerView.setAdapter(adapter); + adapter.setRecyclerClickListener(new RecyclerAdapter.RecyclerClickListener() { + @Override + public void onClick(int position) { + if (position == 0) { + spaceNavigationView.showBadgeAtIndex(1, 54, ContextCompat.getColor(ActivityWithBadge.this, R.color.badge_background_color)); + } else if (position == 1) { + spaceNavigationView.hideBudgeAtIndex(1); + } + } + }); + } + + private List dummyStrings() { + List colorList = new ArrayList<>(); + colorList.add("#354045"); + colorList.add("#20995E"); + colorList.add("#76FF03"); + colorList.add("#E26D1B"); + colorList.add("#911717"); + colorList.add("#9C27B0"); + colorList.add("#FFC107"); + colorList.add("#01579B"); + return colorList; + } +} \ No newline at end of file diff --git a/Sample/src/main/java/com/luseen/spacenavigationview/MainActivity.java b/Sample/src/main/java/com/luseen/spacenavigationview/MainActivity.java index f1f9417..bf7d0b7 100644 --- a/Sample/src/main/java/com/luseen/spacenavigationview/MainActivity.java +++ b/Sample/src/main/java/com/luseen/spacenavigationview/MainActivity.java @@ -1,5 +1,6 @@ package com.luseen.spacenavigationview; +import android.content.Intent; import android.os.Bundle; import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatActivity; @@ -26,6 +27,8 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); + Toast.makeText(getApplicationContext(), "Long press center button to show badge example", Toast.LENGTH_LONG).show(); + spaceNavigationView = (SpaceNavigationView) findViewById(R.id.space); spaceNavigationView.initWithSaveInstanceState(savedInstanceState); spaceNavigationView.addSpaceItem(new SpaceItem("HOME", R.drawable.account)); @@ -54,7 +57,9 @@ public void onItemReselected(int itemIndex, String itemName) { spaceNavigationView.setSpaceOnLongClickListener(new SpaceOnLongClickListener() { @Override public void onCentreButtonLongClick() { - Toast.makeText(MainActivity.this, "onCentreButtonLongClick", Toast.LENGTH_SHORT).show(); +// Toast.makeText(MainActivity.this, "onCentreButtonLongClick", Toast.LENGTH_SHORT).show(); + Intent intent = new Intent(MainActivity.this, ActivityWithBadge.class); + startActivity(intent); } @Override diff --git a/build.gradle b/build.gradle index d99d4f8..4099202 100644 --- a/build.gradle +++ b/build.gradle @@ -4,8 +4,8 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.3.0-beta3' - classpath 'com.novoda:bintray-release:0.3.4' + classpath 'com.android.tools.build:gradle:3.0.1' + classpath 'com.novoda:bintray-release:0.8.0' } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index c0c2bd8..18d7b73 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sun Jan 29 18:23:19 AMT 2017 +#Wed Mar 14 18:44:51 IST 2018 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip diff --git a/spacelib/src/main/res/drawable/near_me.xml b/spacelib/src/main/res/drawable/near_me.xml index d4e92fc..0b044d4 100644 --- a/spacelib/src/main/res/drawable/near_me.xml +++ b/spacelib/src/main/res/drawable/near_me.xml @@ -4,5 +4,5 @@ android:width="24dp" android:viewportWidth="24" android:viewportHeight="24"> - + \ No newline at end of file diff --git a/spacelib/src/main/res/layout/space_item_view.xml b/spacelib/src/main/res/layout/space_item_view.xml index 982b9ad..e6ee23f 100644 --- a/spacelib/src/main/res/layout/space_item_view.xml +++ b/spacelib/src/main/res/layout/space_item_view.xml @@ -1,5 +1,6 @@ + android:layout_height="@dimen/space_item_icon_default_size" + android:layout_gravity="center" + app:srcCompat="@drawable/near_me" /> @@ -34,11 +38,11 @@ android:layout_width="16dp" android:layout_height="16dp" android:layout_alignParentTop="true" - android:layout_marginLeft="@dimen/badge_left_margin" - android:layout_marginRight="2dp" + android:layout_marginLeft="0dp" + android:layout_marginTop="3dp" android:layout_toRightOf="@+id/main_content" - android:visibility="gone"> + android:visibility="visible"> Date: Wed, 14 Mar 2018 20:00:29 +0530 Subject: [PATCH 2/2] show badge done --- .../ActivityWithBadge.java | 20 ++++++-- Sample/src/main/res/layout/activity_badge.xml | 46 +++++++++++++++++++ .../src/main/res/layout/space_item_view.xml | 12 ++--- spacelib/src/main/res/values/dimens.xml | 2 +- 4 files changed, 67 insertions(+), 13 deletions(-) create mode 100644 Sample/src/main/res/layout/activity_badge.xml diff --git a/Sample/src/main/java/com/luseen/spacenavigationview/ActivityWithBadge.java b/Sample/src/main/java/com/luseen/spacenavigationview/ActivityWithBadge.java index 4c02c5b..538001c 100644 --- a/Sample/src/main/java/com/luseen/spacenavigationview/ActivityWithBadge.java +++ b/Sample/src/main/java/com/luseen/spacenavigationview/ActivityWithBadge.java @@ -1,11 +1,14 @@ package com.luseen.spacenavigationview; +import android.graphics.Color; import android.os.Bundle; import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.RecyclerView; import android.util.Log; +import android.view.View; +import android.widget.Button; import android.widget.Toast; import com.luseen.spacenavigation.SpaceItem; @@ -24,7 +27,19 @@ public class ActivityWithBadge extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.activity_main); + setContentView(R.layout.activity_badge); + + Button btnShowBadge = (Button) findViewById(R.id.btnBadge); + btnShowBadge.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + spaceNavigationView.shouldShowFullBadgeText(true); + spaceNavigationView.showBadgeAtIndex(0, 2, Color.RED); + spaceNavigationView.showBadgeAtIndex(1, 3, Color.CYAN); + spaceNavigationView.showBadgeAtIndex(2, 4, Color.MAGENTA); + spaceNavigationView.showBadgeAtIndex(3, 23, Color.BLUE); + } + }); spaceNavigationView = (SpaceNavigationView) findViewById(R.id.space); spaceNavigationView.initWithSaveInstanceState(savedInstanceState); @@ -39,9 +54,6 @@ protected void onCreate(Bundle savedInstanceState) { @Override public void onCentreButtonClick() { Log.d("onCentreButtonClick ", "onCentreButtonClick"); - spaceNavigationView.shouldShowFullBadgeText(true); - spaceNavigationView.showBadgeAtIndex(1, 23, getResources().getColor(R.color.colorPrimary)); - spaceNavigationView.showBadgeAtIndex(2, 23, getResources().getColor(R.color.colorPrimary)); } @Override diff --git a/Sample/src/main/res/layout/activity_badge.xml b/Sample/src/main/res/layout/activity_badge.xml new file mode 100644 index 0000000..6185b5c --- /dev/null +++ b/Sample/src/main/res/layout/activity_badge.xml @@ -0,0 +1,46 @@ + + + + + + + +