Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 带黑色文本的白色选项卡_Android_Android Styles_Android Tablayout - Fatal编程技术网

Android 带黑色文本的白色选项卡

Android 带黑色文本的白色选项卡,android,android-styles,android-tablayout,Android,Android Styles,Android Tablayout,我正在使用TabLayout并尝试将tabbackground设置为带黑色文本的白色 我似乎无法改变文本的颜色,它似乎保持白色 这是我使用的样式: <style name="TabWhiteText" parent="Base.TextAppearance.AppCompat"> <item name="android:textColor">@color/deepEggplant</item> </style> <style nam

我正在使用
TabLayout
并尝试将
tabbackground
设置为带黑色文本的白色

我似乎无法改变文本的颜色,它似乎保持白色

这是我使用的样式:

<style name="TabWhiteText" parent="Base.TextAppearance.AppCompat">
    <item name="android:textColor">@color/deepEggplant</item>
</style>

<style name="TabWhite" parent="Widget.Design.TabLayout">
    <item name="tabSelectedTextColor">@color/deepEggplant</item>
    <item name="tabBackground">@android:color/white</item>
    <item name="tabIndicatorColor">@android:color/white</item>
</style>

<style name="TabWhiteMedium" parent="TabWhite">
    <item name="android:textAppearance">@style/TabWhiteText</item>
</style>
<android.support.design.widget.TabLayout
          android:id="@+id/tab_layout"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:minHeight="?attr/actionBarSize"
          app:tabIndicatorColor="#ffffff"
          app:tabIndicatorHeight="4dp"
          app:tabBackground="@android:color/white" 
          app:tabTextColor="@color/darkcolor"  
          app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />

@颜色/深度茄子
@颜色/深度茄子
@android:彩色/白色
@android:彩色/白色
@样式/选项卡白色文本
并适用于此:

    <android.support.design.widget.TabLayout
        android:id="@+id/tabLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:elevation="4dp"
        android:layout_alignParentTop="true"
        style="@style/TabWhiteMedium"
        selectFromListView:tabMode="scrollable" />

您可以使用
setTabTextColors()
方法通过编程向选项卡文本添加颜色。请参阅文档


要添加颜色资源,请使用ContextCompat.getColor(这里是上下文,您的颜色资源id),而不是直接将资源作为参数提供。

这里有一个很好的教程:

您可以将
textColor
与深色或选项卡背景设置为白色:

<style name="MyCustomTabLayout" parent="Widget.Design.TabLayout">
    <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">@android:color/white</item>
    <!-- Your white color maybe -->
    <item name="tabTextAppearance">@style/MyCustomTabTextAppearance</item>
    <item name="tabSelectedTextColor">?android:textColorPrimary</item>
</style>

<style name="MyCustomTabTextAppearance" parent="TextAppearance.Design.Tab">
    <item name="android:textSize">14sp</item>
    <item name="android:textColor">#000000</item>
    <!-- Or your TabLayout textcolor to dark maybe -->
    <item name="textAllCaps">true</item>
</style>
或者其他定制


更新:此外,无需添加样式,只需:

app:tabBackground="@android:color/white"
app:tabTextColor="@color/darkcolor"
即:

<style name="TabWhiteText" parent="Base.TextAppearance.AppCompat">
    <item name="android:textColor">@color/deepEggplant</item>
</style>

<style name="TabWhite" parent="Widget.Design.TabLayout">
    <item name="tabSelectedTextColor">@color/deepEggplant</item>
    <item name="tabBackground">@android:color/white</item>
    <item name="tabIndicatorColor">@android:color/white</item>
</style>

<style name="TabWhiteMedium" parent="TabWhite">
    <item name="android:textAppearance">@style/TabWhiteText</item>
</style>
<android.support.design.widget.TabLayout
          android:id="@+id/tab_layout"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:minHeight="?attr/actionBarSize"
          app:tabIndicatorColor="#ffffff"
          app:tabIndicatorHeight="4dp"
          app:tabBackground="@android:color/white" 
          app:tabTextColor="@color/darkcolor"  
          app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />


tested tabLayout.setTabTextColors(R.color.deepegplant,R.color.deepegplant);但还是不行(尝试添加颜色作为ContextCompat.getColor(context,R.color.deepeggglant)结果表明它正在使用自定义视图!只需要在那里更改TextColor。请原谅,我出去拍摄自己!尝试过(切换颜色),但仍然不好。我将尝试链接中的详细信息并返回。@LinX64请来到