错误的效果
贴代码
注意把app:tabGravity="center" 去掉
MODE_FIXED是一下子展示所有的
mScrollableTabMinWidth = res.getDimensionPixelSize(R.dimen.design_tab_scrollable_min_width);是这句代码起的作用
<dimen name="design_tab_scrollable_min_width">72dp</dimen>设置大小
<com.test.test.tools.MyTabLayout
android:id="@+id/order_tablayout"
android:layout_width="match_parent"
android:layout_height="44dp"
android:background="@color/transparent"
app:tabGravity="center"
app:tabIndicatorColor="@color/colorff8b00"
app:tabIndicatorHeight="2dp"
app:tabMode="fixed"
app:tabPaddingEnd="6dp"
app:tabPaddingStart="6dp"
app:tabSelectedTextColor="@color/colorff8b00"
app:tabTextAppearance="@style/order_tab_text_size"
app:tabTextColor="#afafaf" />
public class MyTabLayout extends TabLayout {
private static final int TabViewNumber = 2;
private static final String SCROLLABLE_TAB_MIN_WIDTH = "mScrollableTabMinWidth";
public MyTabLayout(Context context) {
super(context);
initTabMinWidth();
}
public MyTabLayout(Context context, AttributeSet attrs) {
super(context, attrs);
initTabMinWidth();
}
public MyTabLayout(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
initTabMinWidth();
}
private void initTabMinWidth() {
int screenWidth = getResources().getDisplayMetrics().widthPixels;
int tabMinWidth = screenWidth / TabViewNumber;
Field field;
try {
field = TabLayout.class.getDeclaredField(SCROLLABLE_TAB_MIN_WIDTH);
field.setAccessible(true);
field.set(this, tabMinWidth);
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}