问题
How to increase/reduce space between elements of the indicator in ViewPagerIndicator
?
回答1:
I have used CirclePageIndicator
. I was able to make more space between two indicator by the step:
Open the source code of
CirclePageIndicator
and find the variablemRadius
At the line number around 235, you will find a line like below:
final float threeRadius = mRadius * (some value here)
- 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.
回答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
回答3:
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)
回答4:
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.
来源:https://stackoverflow.com/questions/15927546/space-between-elements-of-the-indicator