17

有什么方法可以更改 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 Custom Tabs 显示一个黑色的标题文本。我想将标题更改为白色。

4

5 回答 5

9

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

如果您的应用程序的主要颜色和主要颜色为深色,则自定义选项卡将使用深色标题、深色关闭按钮和深色溢出菜单按钮。

Material Palette 中深色阴影颜色的示例

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

Material Palette 中的浅色阴影颜色示例

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

于 2016-10-08T14:16:45.533 回答
8

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

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

在此处输入图像描述

于 2015-11-10T10:46:19.903 回答
1

设置工具栏颜色。

intentBuilder.setToolbarColor(ContextCompat.getColor(this, R.color.colorPrimary));
于 2017-02-08T06:27:31.307 回答
0

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

于 2015-09-14T13:20:46.807 回答
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))

在此处输入图像描述

于 2021-02-20T05:06:07.270 回答