/**
* 均分TabLayout tab
* 利用LinearLayout weight 特性, android.support.design.widget.TabLayout#updateTabViewLayoutParams(android.widget.LinearLayout.LayoutParams)
*/
public static void splitTabLayout(final TabLayout tabLayout) {
if (ViewUtil.isNull(tabLayout) || tabLayout.getTabCount() < 2) {
return;
}
tabLayout.setVisibility(View.INVISIBLE);
if (tabLayout.getTabMode() != TabLayout.MODE_FIXED || tabLayout.getTabGravity() != TabLayout.GRAVITY_FILL) {
return;
}
tabLayout.post(new Runnable() {
@Override
public void run() {
int tabCount = tabLayout.getTabCount();
int measuredWidth = tabLayout.getMeasuredWidth();
if (measuredWidth <= 0) {
tabLayout.setVisibility(View.VISIBLE);
return;
}
int marginOffset = measuredWidth / tabCount / 4;
ViewGroup.LayoutParams layoutParams = tabLayout.getLayoutParams();
if (layoutParams instanceof ViewGroup.MarginLayoutParams) {
ViewGroup.MarginLayoutParams marginLayoutParams = (ViewGroup.MarginLayoutParams) layoutParams;
marginLayoutParams.leftMargin = marginOffset;
marginLayoutParams.rightMargin = marginOffset;
tabLayout.setLayoutParams(layoutParams);
//Log.debug(TAG, "splitTabLayout: " + marginOffset);
}
tabLayout.setVisibility(View.VISIBLE);
}
});
}
巧妙均分TabLayout tab
猜你喜欢
转载自blog.csdn.net/CSDNno/article/details/99302027
今日推荐
周排行