web-dev-qa-db-ja.com

Chromeカスタムタブでタイトルの色を変更する方法

Chromeカスタムタブでタイトルの色を変更する方法はありますか?

Chromeカスタムタブを適用してWebページを表示しました。そのために、CustomTabsIntent.Builderクラスを使用しました。ただし、タイトルの色を変更するためのインターフェイスはありません。

String url = "www.google.com";
CustomTabsIntent.Builder intentBuilder = new CustomTabsIntent.Builder();
intentBuilder.setToolbarColor(getResources().getColor(R.color.primary));
intentBuilder.setShowTitle(true);
intentBuilder.setCloseButtonIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_arrow_back));
intentBuilder.setStartAnimations(getActivity(), R.anim.slide_in_right, R.anim.slide_out_left);
intentBuilder.setExitAnimations(getActivity(), Android.R.anim.slide_in_left, Android.R.anim.slide_out_right);
CustomTabActivityHelper.openCustomTab(getActivity(), intentBuilder.build(), Uri.parse(url), new WebviewFallback());

上記のコードに基づいて、Chromeカスタムタブは黒色のタイトルテキストを表示します。タイトルを白色に変更したいと思います。

17
Daehee Han

Chromeカスタムタブで、プログラムでタイトルの色を変更することはできません。従うことができる唯一の方法は、マテリアルデザインの仕様です。

アプリのプライマリカラーとプライマリダークカラーが暗い色合いの場合、カスタムタブでは、暗いタイトル、暗い閉じるボタン、暗いオーバーフローメニューボタンが使用されます。

Example of dark shade colors in Material Palette

明るい色合いのプライマリカラーとプライマリダークカラーがある場合、Chromeカスタムタブはライトタイトルなどを使用します。

Example of light shade colors in Material Palette

したがって、プライマリおよびプライマリダークカラーの数に注意を払う必要があります。

8

テキストとステータスバーの色を変更する可能性があればいいのですが。たとえば、アプリの色設定が異なるため、アプリとChromeカスタムタブ)の間に一貫性がなくなりました。これはちょっと悪いようです。

たぶん、Chromeテキストとステータスバーのカスタムタブの色を取得して、アプリに合わせて調整できるようにする可能性があります(ユーザーが選択できるテンプレートがあります)。

enter image description here

7
ekstro

ツールバーの色を設定します。

intentBuilder.setToolbarColor(ContextCompat.getColor(this, R.color.colorPrimary));
1

回答の1つで述べたように、タイトルのテキストの色は、タイトルの色とのコントラストが最も高くなるように自動的に選択されます。他に設定する方法はありません。

1
Egor Pasko