From 7c55f48d7ffc8e183126b7316654f17f35250997 Mon Sep 17 00:00:00 2001 From: Memery92 Date: Sun, 27 Sep 2015 11:03:00 +0100 Subject: [PATCH 1/2] Update StepsView.java Changes the typeface of the label back to normal if it is after the completed position. Used if navigating back and forwards between steps. --- library/src/main/java/com/anton46/stepsview/StepsView.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/library/src/main/java/com/anton46/stepsview/StepsView.java b/library/src/main/java/com/anton46/stepsview/StepsView.java index 9b17110..5afcd87 100644 --- a/library/src/main/java/com/anton46/stepsview/StepsView.java +++ b/library/src/main/java/com/anton46/stepsview/StepsView.java @@ -126,6 +126,8 @@ private void drawLabels() { if (i <= mCompletedPosition) { textView.setTypeface(null, Typeface.BOLD); + } else { + textView.setTypeface(null, Typeface.NORMAL); } mLabelsLayout.addView(textView); From d5fe88a7e0b7d0de4795a29f22b3941d36ca5b6c Mon Sep 17 00:00:00 2001 From: Memery92 Date: Sun, 27 Sep 2015 12:16:03 +0100 Subject: [PATCH 2/2] Update StepsView.java Instead of continuously adding TextViews to the mLabelsLayout, grab the necessary TextView and initalise if it needed. --- .../java/com/anton46/stepsview/StepsView.java | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/library/src/main/java/com/anton46/stepsview/StepsView.java b/library/src/main/java/com/anton46/stepsview/StepsView.java index 5afcd87..d1f4c5c 100644 --- a/library/src/main/java/com/anton46/stepsview/StepsView.java +++ b/library/src/main/java/com/anton46/stepsview/StepsView.java @@ -113,24 +113,25 @@ public void onReady() { private void drawLabels() { List indicatorPosition = mStepsViewIndicator.getThumbContainerXPosition(); - if (mLabels != null) { for (int i = 0; i < mLabels.length; i++) { - TextView textView = new TextView(getContext()); - textView.setText(mLabels[i]); - textView.setTextColor(mLabelColorIndicator); - textView.setX(indicatorPosition.get(i)); - textView.setLayoutParams( - new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, - ViewGroup.LayoutParams.WRAP_CONTENT)); - + TextView textView = (TextView) + mLabelsLayout.getChildAt(i); + if (textView == null) { + textView = new TextView(getContext()); + textView.setText(mLabels[i]); + textView.setTextColor(mLabelColorIndicator); + textView.setX(indicatorPosition.get(i)); + textView.setLayoutParams( + new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, + ViewGroup.LayoutParams.WRAP_CONTENT)); + mLabelsLayout.addView(textView, i); + } if (i <= mCompletedPosition) { textView.setTypeface(null, Typeface.BOLD); } else { textView.setTypeface(null, Typeface.NORMAL); } - - mLabelsLayout.addView(textView); } } }