设置选项卡的textcolor

时间:2018-04-04 16:02:20

标签: android android-tablayout

为什么我无法设置tablayout的文本颜色?

这是整个xml-source。相关的一行是:

 app:tabTextColor="@color/tabTextColor"

文字不是白色 - 黑色

这是整个来源

 <?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"


 xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/linlayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <include layout="@layout/toolbar"/>

    <android.support.design.widget.TabLayout
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#4f83cc"
        app:tabMode="scrollable"
        app:tabIndicatorColor="#FFFFFF"
        app:tabTextColor="@color/tabTextColor"
        >
    </android.support.design.widget.TabLayout>


    <android.support.v4.view.ViewPager

        android:id="@+id/viewPager"
        android:layout_below="@+id/tabs"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        />

并在color-xml文件中:

 <?xml version="1.0" encoding="utf-8"?>
<resources>
   <color name="colorPrimary">#01579b</color>
   <color name="colorPrimaryDark">#002f6c</color>
   <color name="colorAccent">#FF4081</color>
   <color name="tabTextColor">#FFFFFF</color>
</resources>

2 个答案:

答案 0 :(得分:1)

您可以使用java代码

来创建TabLayout的文本颜色
tabLayout.setTabTextColors(
  getResources().getColor(R.color.your_unselected_text_color),
  getResources().getColor(R.color.your_selected_text_color)
);

或者您可以尝试TabLayout的自定义样式

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

答案 1 :(得分:0)

试试这个:

     app:tabSelectedTextColor="@color/white"
     app:tabIndicatorColor="@color/white"

如果仍然无法以编程方式执行此操作:https://www.stackoverflow.com/a/36962857

我希望这会对你有所帮助。