滑动选项卡布局左右填充/边距

4
我正在尝试在我的应用程序中模拟Google Play X的视觉UI,但我很难设置这个边距/填充。我尝试将填充设置为SlidingTabLayout,但当选择任何一个极端值(左侧或右侧)时,它会自动折叠。我还尝试修改SlidingTabLayout的源代码,在SlidingTabStrip中添加边距,但没有成功。我的最后一次尝试是在SlidingTabLayout#populateTabStrip()中为PagerAdapter的第一个和最后一个项目添加边距,同样没有成功。感谢任何帮助。

你找到这个问题的解决方案了吗?因为我也在同一条船上。 - Amit Jayant
1个回答

4
在SlidingTabLayout的populateTabStrip方法中,在设置tabTittleView文本之前添加以下代码:
ViewGroup.MarginLayoutParams mlp = (ViewGroup.MarginLayoutParams) tabTitleView.getLayoutParams();
final int padding = 20;
if(i == 0)
    mlp.setMargins((int) (padding * getResources().getDisplayMetrics().density), 0, 0, 0);
else if (i == adapter.getCount()-1)
    mlp.setMargins(0, 0, (int) (padding * getResources().getDisplayMetrics().density), 0);

tabTitleView.setLayoutParams(mlp);

2
请注意,您还需要更改 scrollToTab - 当它附加标题偏移量时,您将不得不将条件从 if (tabIndex > 0 || positionOffset > 0) 更改为 if (tabIndex > -1 || positionOffset > 0) - ElliotM

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接