8

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

Dima
  • 1,490
  • 16
  • 25

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,320
  • 4
  • 28
  • 39
Omar Faroque Anik
  • 2,531
  • 1
  • 29
  • 42
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,730
  • 4
  • 24
  • 34
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
  • 390
  • 4
  • 9
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.