如何在Chrome自定义标签中更改标题颜色

时间:2015-09-11 22:34:18

标签: android chrome-custom-tabs

有没有办法在Chrome自定义标签中更改标题颜色?

我已应用Chrome自定义标签来显示网页。为此,我使用了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自定义标签会显示黑色标题文字。我想将标题更改为白色。

5 个答案:

答案 0 :(得分:8)

您无法在Chrome自定义标签中以编程方式更改tittle的颜色。您可以遵循的唯一方法是材料设计规范。

如果您的应用的主色和主色显示颜色为深色,则自定义标签将使用暗色,暗色关闭按钮和暗溢出菜单按钮。

Example of dark shade colors in Material Palette

如果您使用浅色调的主色和主色调,则Chrome自定义标签会使用浅色等。

Example of light shade colors in Material Palette

所以,你必须注意你的primary和primaryDark颜色的数量。

答案 1 :(得分:7)

如果有可能更改文本和状态栏的颜色,那就太好了。例如,我们的应用程序具有不同的颜色设置,因此现在应用程序和Chrome自定义选项卡之间没有一致性。这看起来有点糟糕。

也许有机会获取文字和状态栏的Chrome自定义标签颜色,以便我们可以将其调整到我们的应用程序(我们有用户可以选择的模板)。

enter image description here

答案 2 :(得分:1)

正如其中一个回复中所提到的,标题文字颜色会自动选择,以便与标题颜色形成最佳对比,没有其他方法可以设置它。

答案 3 :(得分:1)

设置工具栏颜色。

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

答案 4 :(得分:0)

//custom chrome tab
`implementation "androidx.browser:browser:1.0.0"` // Use this dependency only, because setToolbarColor is deprecated in the current dependency.

val builder = CustomTabsIntent.Builder()
val intent = builder.build()enter image description here           
builder.setToolbarColor(ContextCompat.getColor(this,R.color.YourChoiceColor))
intent.launchUrl(this, Uri.parse(item.url))

enter image description here