1. ホーム
  2. android

[解決済み] TabLayout (Androidデザインライブラリ) 文字色

2023-05-08 18:43:05

質問

Android Design libraryの新しいTabLayoutを使用しています。テキストカラーのステートリストを設定するために tabLayout.setTabTextColors(colorstatelist)

styles.xmlを使用して同じことを実現するにはどうすればよいですか?

どのように解決するのですか?

XML属性で。

<android.support.design.widget.TabLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:tabMode="fixed"
        app:tabGravity="fill"
        app:tabTextColor="@color/your_unselected_text_color"
        app:tabSelectedTextColor="@color/your_selected_text_color"/>

さらに、tabIndicatorColor や tabIndicatorHeight などの属性で、さらにスタイルを指定することができます。

コードでは

tabLayout.setTabTextColors(
    getResources().getColor(R.color.your_unselected_text_color),
    getResources().getColor(R.color.your_selected_text_color)
);

この古い方法はAPI23の時点で非推奨となっているため、代替案として

tabLayout.setTabTextColors(
    ContextCompat.getColor(context, R.color.your_unselected_text_color),
    ContextCompat.getColor(context, R.color.your_selected_text_color)
);