8

How to increase/reduce space between elements of the indicator in ViewPagerIndicator?

Dima
  • 1,460
  • 16
  • 24

4 Answers4

9

I have used CirclePageIndicator. I was able to make more space between two indicator by the step:

  1. Open the source code of CirclePageIndicator and find the variable mRadius

  2. At the line number around 235, you will find a line like below:

    final float threeRadius = mRadius * (some value here)
    
  3. Change this some value, and play with it. I used 5 for my case, it gave me a good result.

Hope it solved your problem.

kRiZ
  • 2,265
  • 4
  • 27
  • 39
Omar Faroque Anik
  • 2,403
  • 27
  • 38
2

There's no documented way to do this without some digging in.

I think @Md_Omar's answer is wrong as this increases the size of the indicator but not their separating distance.

And you could just use app:radius="5dp" instead if thats what you wanted.

See sample here

https://github.com/JakeWharton/ViewPagerIndicator/blob/master/sample/res/layout/themed_circles.xml

F.O.O
  • 4,354
  • 4
  • 21
  • 32
1

You can set space by LayoutParams:

int numOfIndicators = 5;
int space = 20;

tabLayout.setupWithViewPager(myViewPager, true);
ConstraintLayout.LayoutParams params = 
         (ConstraintLayout.LayoutParams)tabLayout.getLayoutParams();//ConstraintLayout is my layout manager
params.width = numOfIndicators * space;
tabLayout.setLayoutParams(params);

(I used tabLayout with ViewPager as in this example: Android ViewPager with bottom dots)

M. Marmor
  • 216
  • 3
  • 8
0

If you're using a vector drawable, you can fiddle with the viewportWidth and viewportHeight to create spacing between TabLayout indicators if using the dots style.