|
|
@@ -7,6 +7,7 @@ import android.graphics.Paint;
|
|
|
import android.support.annotation.Nullable;
|
|
|
import android.support.v7.widget.RecyclerView;
|
|
|
import android.util.AttributeSet;
|
|
|
+import android.util.Log;
|
|
|
import android.view.View;
|
|
|
|
|
|
/**
|
|
|
@@ -58,6 +59,7 @@ public class CustomIndicator extends View {
|
|
|
mPaint.setStrokeCap(Paint.Cap.ROUND);
|
|
|
mPaint.setStrokeWidth(mIndicatorStrokeWidth);
|
|
|
mPaint.setStyle(Paint.Style.FILL);
|
|
|
+ invalidate();
|
|
|
}
|
|
|
|
|
|
public void onChangedIndex(int firstVisibleItemPosition) {
|
|
|
@@ -68,15 +70,16 @@ public class CustomIndicator extends View {
|
|
|
@Override
|
|
|
protected void onDraw(Canvas canvas) {
|
|
|
if (null == recyclerView || null == recyclerView.getAdapter()) {
|
|
|
+ Log.e("APP# CustomIndicator | onDraw", "|" + "null");
|
|
|
return;
|
|
|
}
|
|
|
+
|
|
|
int itemCount = recyclerView.getAdapter().getItemCount();
|
|
|
float totalLength = mIndicatorItemLength * itemCount;
|
|
|
float paddingBetweenItems = Math.max(0, itemCount - 1) * mIndicatorItemPadding;
|
|
|
float indicatorTotalWidth = totalLength + paddingBetweenItems;
|
|
|
float indicatorStartX = (recyclerView.getWidth() - indicatorTotalWidth) / 2F;
|
|
|
float indicatorPosY = getHeight() - 38F * DP;
|
|
|
-
|
|
|
drawInactiveIndicators(canvas, indicatorStartX, indicatorPosY, itemCount);
|
|
|
if (activePosition == RecyclerView.NO_POSITION) {
|
|
|
return;
|