Via XML attributes: <android.support.design.widget.TabLayout android:layout_width=”match_parent” android:layout_height=”wrap_content” app:tabMode=”fixed” app:tabGravity=”fill” app:tabTextColor=”@color/your_unselected_text_color” app:tabSelectedTextColor=”@color/your_selected_text_color”/> Additionally, there are attributes like tabIndicatorColor or tabIndicatorHeight for further styling. In code: tabLayout.setTabTextColors( getResources().getColor(R.color.your_unselected_text_color), getResources().getColor(R.color.your_selected_text_color) ); Since this old way is deprecated as of API 23, the alternative is: tabLayout.setTabTextColors( ContextCompat.getColor(context, R.color.your_unselected_text_color), ContextCompat.getColor(context, R.color.your_selected_text_color) );