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

19

有没有办法在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自定义选项卡显示黑色标题文本。我希望将标题更改为白色。


2
尝试将工具栏颜色设置为非常深的颜色。如果文本是白色的,那么它可能正在使用与最近应用程序卡标题栏相同的对比度检查,这意味着您无法手动更改它,除非将标题栏的颜色调暗一些。 - Kane O'Riley
4个回答

10
您无法在Chrome自定义选项卡中以编程方式更改标题的颜色。您可以遵循的唯一方法是Material Design规范。
如果您的应用程序具有深色阴影的主要和primaryDark颜色,则自定义选项卡将使用深色标题、深色关闭按钮和深色溢出菜单按钮。

Example of dark shade colors in Material Palette

如果您有浅色调的主要和主要深色调,那么Chrome自定义标签将使用浅色标题等。

Example of light shade colors in Material Palette

因此,您必须注意您的primary和primaryDark颜色的数量。

8

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

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

输入图像描述


5
似乎有人向Google报告了这个问题。如果用户希望更改,可以点赞并发表评论。 https://code.google.com/p/android/issues/detail?id=201774 - James Britton

0

正如其中一位回答中所提到的,标题文本颜色是自动选择的,以与标题颜色形成最佳对比度,没有其他设置方式。


那么有没有机会获取这些颜色呢?不是“设置”,而是“获取”,这样我们就可以动态地调整它们,例如,我们将“setToolbarColor”设置为黄色,那么工具栏上的文本颜色将是黑色。 - ekstro

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接