我正在尝试在我的应用中模拟Google Play X的视觉UI,并且很难设置此边距/填充。

我试图O设定填充,以SlidingTabLayout,但任何极端(左或右)的被选择时,它自动地折叠。

我还尝试修改了SlidingTabLayout的源,为SlidingTabStrip添加了空白,但是没有成功。

我的最后尝试是再次向PagerAdapterSlidingTabLayout#populateTabStrip()的第一项和最后一项添加边距,但没有成功。

任何帮助表示赞赏。

最佳答案

在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);

07-24 15:31