【问题标题】:set textcolor of tab [duplicate]设置标签的文本颜色[重复]
【发布时间】:2018-09-14 06:52:02
【问题描述】:

为什么我无法设置tablayout的textcolor?

这是整个 xml 源代码。相关行是:

 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>

【问题讨论】:

  • 为什么标记为重复?这个答案我已经试过了

标签: android android-tablayout


【解决方案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" />

【讨论】:

  • 我已经尝试过,但得到错误 inflating class android.support.design.widget.TabLayout
  • 好吧,我可以接受这个答案,因为它在将样式移动到我的 values-21 文件夹后有效。我可以在 android.developer 看到 API 22 中添加了 TabLayout。谢谢,我看不到为什么我的问题被标记为重复 - 现在看,我关于同一问题的新问题解决了问题!!!!
【解决方案2】:

试试这个:

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

如果它仍然不起作用,请以编程方式执行:https://www.stackoverflow.com/a/36962857

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2015-02-20
    • 2016-03-20
    • 1970-01-01
    • 2013-12-28
    • 2011-02-27
    • 1970-01-01
    • 2019-04-10
    • 1970-01-01
    • 2014-07-05
    相关资源
    最近更新 更多