【问题标题】:Custom selected tab colour in new android.support.design.widget.TabLayout?在新的 android.support.design.widget.TabLayout 中自定义选择的选项卡颜色?
【发布时间】:2015-11-17 19:18:46
【问题描述】:

我想知道是否可以在新设计的标签布局中更改选定的标签颜色?我找到了选定选项卡文本颜色的解决方案,但我想知道自己更改选项卡颜色。

    <android.support.design.widget.TabLayout
        android:id="@+id/tabs"
        style="@style/TabLayout.Theme"
        android:layout_alignParentTop="true"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_below="@+id/tabs"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</RelativeLayout>





<style name="TabLayout.Theme" parent="Widget.Design.TabLayout">
        <item name="tabIndicatorColor">@color/black</item>
        <item name="tabIndicatorHeight">4dp</item>
        <item    name="tabTextAppearance">@style/TextAppearance.Jacksonville.Tab</item>
        <item name="tabSelectedTextColor">@color/text_dim</item>
        <item name="tabBackground">@color/color_heading</item>
    </style>

我需要像这样更改选定的标签颜色。

【问题讨论】:

  • 请在问题中添加更多详细信息,因为它并不清楚。
  • 请检查我添加了标签图像。
  • 如果你也添加相关代码就好了:)
  • 请检查代码

标签: android android-design-library android-tablayout


【解决方案1】:

您可以使指示器的高度等于选项卡布局的高度,这样指示器将覆盖选项卡布局中所选项目的所有大小

 <style name="MyCustomTabLayout" parent="Widget.Design.TabLayout">

        <!-- the color you want in selected tab -->
        <item name="tabIndicatorColor">#50000000</item>
        <item name="tabTextAppearance">@style/MyCustomTabTextAppearance</item>

           <!-- set the indicator hieght equal to tablayout height -->
        <item name="tabIndicatorHeight">60dp</item>
        <item name="tabSelectedTextColor">#222222</item>

【讨论】:

    【解决方案2】:

    你只需要设置app:tabBackground属性

    app:tabBackground="@drawable/tab_selector_color"
    

    并创建一个可绘制文件为tab_selector_color.xml

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:drawable="@color/tab_selected" android:state_selected="true"/>
        <item android:drawable="@color/tab_unselected"/>
    </selector>
    

    所以完整的 xml 代码如下所示

     <android.support.design.widget.TabLayout
            android:id="@+id/sliding_tabs"
            android:layout_width="match_parent"
            android:layout_height="android:attr/listPreferredItemHeight"
            android:minWidth="0dp"
            app:tabMaxWidth="0dp"
            app:tabGravity="fill"
            app:tabMode="fixed"
            app:tabTextColor="@color/white"
            app:tabIndicatorHeight="0dp"
            app:tabSelectedTextColor="@color/white"
            app:tabIndicatorColor="@color/mainBlue"
            app:tabBackground="@drawable/tab_color_selector"/>
    

    【讨论】:

      猜你喜欢
      • 2015-11-12
      • 2014-10-23
      • 2014-12-09
      • 2017-10-21
      • 2015-10-31
      • 2013-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多