diff --git a/loopview/src/main/java/com/weigan/loopview/LoopView.java b/loopview/src/main/java/com/weigan/loopview/LoopView.java index e18e488..6e9ceef 100644 --- a/loopview/src/main/java/com/weigan/loopview/LoopView.java +++ b/loopview/src/main/java/com/weigan/loopview/LoopView.java @@ -162,6 +162,7 @@ public void setDividerColor(int dividerColor) { */ public void setTypeface(Typeface typeface) { this.typeface = typeface; + initPaintsIfPossible(); } public LoopView(Context context) { @@ -228,29 +229,22 @@ public void setItemsVisibleCount(int visibleNumber) { } private void initPaintsIfPossible() { - if (paintOuterText == null) { - paintOuterText = new Paint(); - paintOuterText.setColor(outerTextColor); - paintOuterText.setAntiAlias(true); - paintOuterText.setTypeface(typeface); - paintOuterText.setTextSize(textSize); - } - - - if (paintCenterText == null) { - paintCenterText = new Paint(); - paintCenterText.setColor(centerTextColor); - paintCenterText.setAntiAlias(true); - paintCenterText.setTextScaleX(scaleX); - paintCenterText.setTypeface(typeface); - paintCenterText.setTextSize(textSize); - } - - if (paintIndicator == null) { - paintIndicator = new Paint(); - paintIndicator.setColor(dividerColor); - paintIndicator.setAntiAlias(true); - } + paintOuterText = new Paint(); + paintOuterText.setColor(outerTextColor); + paintOuterText.setAntiAlias(true); + paintOuterText.setTypeface(typeface); + paintOuterText.setTextSize(textSize); + + paintCenterText = new Paint(); + paintCenterText.setColor(centerTextColor); + paintCenterText.setAntiAlias(true); + paintCenterText.setTextScaleX(scaleX); + paintCenterText.setTypeface(typeface); + paintCenterText.setTextSize(textSize); + + paintIndicator = new Paint(); + paintIndicator.setColor(dividerColor); + paintIndicator.setAntiAlias(true); } private void remeasure() {