TabLayout(Androiddevise库)文本颜色

我正在使用Androiddevise库中的新TabLayout。 我设法设置textcolor状态列表使用tabLayout.setTabTextColors(colorstatelist)

我怎样才能实现相同的使用styles.xml?

  • 获取错误膨胀类android.support.design.widget.NavigationView
  • 如何样式devise支持库的NavigationView?
  • Snackbar动作文本颜色不变
  • 背景的FAB颜色在Gingerbread版设备中没有变化
  • 没有find来自CollapsingToolbarLayout的app:layout_scrollflags的资源ID
  • Androiddevise支持TabLayout重叠的内容
  • FloatingActionButton默认边距不能在棒棒糖中工作
  • TextInputLayout中的错误文本由键盘覆盖
  • 通过XML属性:

     <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"/> 

    此外,还有像tabIndicatorColor或tabIndicatorHeight属性进一步的样式。

    在代码中:

     tabLayout.setTabTextColors( getResources().getColor(R.color.your_unselected_text_color), getResources().getColor(R.color.your_selected_text_color) ); 

    由于这种旧的方式从API 23开始被弃用,替代scheme是:

     tabLayout.setTabTextColors( ContextCompat.getColor(context, R.color.your_unselected_text_color), ContextCompat.getColor(context, R.color.your_selected_text_color) ); 

    这里是代码覆盖文本样式和选定的文本颜色

     <style name="MyCustomTabLayout" parent="Widget.Design.TabLayout"> <item name="tabTextAppearance">@style/MyCustomTabText</item> <item name="tabSelectedTextColor">@color/tab_text_act</item> </style> <style name="MyCustomTabText" parent="TextAppearance.AppCompat.Button"> <item name="android:textSize">14sp</item> <item name="android:textColor">@color/tab_text</item> </style> 

    这里是代码布局的代​​码

     <android.support.design.widget.TabLayout android:layout_width="match_parent" android:layout_height="wrap_content" style="@style/MyCustomTabLayout" /> 

    上面的所有答案都是正确的,但我认为它更好地覆盖默认样式,只更改您想要更改的特定元素。 下面的例子将使文字变粗体:

     <style name="Widget.TabItem" parent="TextAppearance.Design.Tab"> <item name="android:textStyle">bold</item> </style> 

    然后..,

     app:tabTextAppearance="@style/Widget.TabItem" 

    你只需要重写android:textAppearance风格。 因为TabLayout使用textAppearance。 这里是风格的小代码片段。

     <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Below will reference with our custom style --> <item name="android:textAppearance">@style/my_tab_text</item> </style> <style name="my_tab_text" parent="Base.TextAppearance.AppCompat"> <item name="android:textColor">@android:color/holo_blue_dark</item> </style> 

    如果你不想引用你的Apptheme,你可以使用下面的代码片段直接指定到TabLayout。

      <android.support.design.widget.TabLayout android:layout_width="match_parent" android:layout_height="wrap_content" app:tabTextAppearance="@style/my_tab_text" app:tabIndicatorHeight="48dp"/>