새 TabLayout이 value의 표시기 색상을 사용한다는 문제가 발생 colorAccent
하여 android.support.design.widget.TabLayout
구현 을 파헤쳐 서 이를 사용자 정의 할 수있는 공용 메서드가 없음을 확인했습니다. 그러나 TabLayout의이 스타일 사양을 찾았습니다.
<style name="Base.Widget.Design.TabLayout" parent="android:Widget">
<item name="tabMaxWidth">@dimen/tab_max_width</item>
<item name="tabIndicatorColor">?attr/colorAccent</item>
<item name="tabIndicatorHeight">2dp</item>
<item name="tabPaddingStart">12dp</item>
<item name="tabPaddingEnd">12dp</item>
<item name="tabBackground">?attr/selectableItemBackground</item>
<item name="tabTextAppearance">@style/TextAppearance.Design.Tab</item>
<item name="tabSelectedTextColor">?android:textColorPrimary</item>
</style>
이 스타일 사양이 있으므로 이제 다음과 같이 TabLayout을 사용자 지정할 수 있습니다.
<android.support.design.widget.TabLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@id/pages_tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:tabIndicatorColor="@android:color/white"
app:tabIndicatorHeight="4dp"/>
그리고 문제가 해결되었습니다. 탭 표시기 색상과 높이를 모두 기본값에서 변경할 수 있습니다.