2016-10-03 9 views
0

私は一部のフラグメントでカスタムビューでタブレイアウトを使用しています。カスタムビューのテキストカラーをタブレイアウトスタイルから設定したい異なる場所、異なるテキスト色で、色を設定するためにタブレイアウトの異なるスタイルが必要です)。カスタムビューではテキストの色を定義していませんが、テキストは常に白ではなく黒で表示され、タブレイアウトスタイルで設定されています。Android:タブレイアウトのスタイルでカスタムビューのテキスト色を設定する

コード:

タブレイアウトスタイル:

<style name="TabBar"> 
    <item name="android:background">@color/secondary_bg_color</item> 
    <item name="tabIndicatorColor">@color/tab_indicator_color</item> 
    <item name="tabIndicatorHeight">@dimen/tab_height</item> 
    <item name="tabGravity">fill</item> 
    <item name="tabTextColor">@color/white_text_color</item> 
    <item name="tabSelectedTextColor">@color/white_text_color</item> 
</style> 

カスタムビュー:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:paddingBottom="@dimen/default_padding_bottom" 
    android:paddingTop="@dimen/default_padding_top"> 

    <TextView 
     android:id="@+id/tab_title" 
     style="@style/TabLabel" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:paddingLeft="@dimen/payment_tab_padding_left" /> 

</LinearLayout> 

TabLabelスタイル:

<style name="TabLabel"> 
    <item name="android:textSize">@dimen/textsize_caption</item> 
    <item name="android:textAlignment">textStart</item> 
</style> 

用途:

<android.support.design.widget.AppBarLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:background="@color/primary_bg_color" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/ThemeOverlay.AppCompat.ActionBar"> 

    <android.support.design.widget.CollapsingToolbarLayout 
     android:id="@+id/collapsing_toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:contentScrim="?attr/colorPrimary" 
     app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

      <FrameLayout 
       android:id="@+id/bf_fragment_container" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:visibility="gone"/> 

    </android.support.design.widget.CollapsingToolbarLayout> 

    <TabLayout 
     android:id="@+id/outgoing_tab" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     style="@style/TabBar" 
     app:tabMode="scrollable" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 

</android.support.design.widget.AppBarLayout> 

何が問題になりますか?タブレイアウトのテキストカラーがカスタムビューのテキストカラーに影響を与えないのはなぜですか?

答えて

0

tabTextColor y tabSelectedTextColorはタブのデフォルトのtextViewでのみ動作しますが、カスタムタブでは機能しません。この動作は、TabLayoutのソース実装で確認できます。

カスタムタブのテキストの色を自分で処理する必要があります。

関連する問題