Chrome 自定义标签无法与 CustomTabsIntent 一起正常工作

Chrome custom tabs not working correctly with CustomTabsIntent

我一直在尝试探索 Google Chrome 自定义选项卡 工具,但有些东西让我很感兴趣。

在 Android Studio

上使用以下版本的库
compile 'com.android.support:customtabs:23.2.0'

然后 运行 使用 CustomTabsIntent 的样本没有按我预期的那样工作。

CustomTabsIntent customTabsIntent = new CustomTabsIntent.Builder(customTabActivityHelper.getSession())
                        .setCloseButtonIcon(BitmapFactory.decodeResource(getContext().getResources(), R.drawable.ic_action_back))
                        .setToolbarColor(Color.RED)
                        .addDefaultShareMenuItem()
                        .build();
CustomTabActivityHelper.openCustomTab(getActivity(), customTabsIntent, Uri.parse(url), null);

使用这个,只有 setToolbarColor() 在工作。 setCloseButtonIcon()addDefaultShareMenuItem()甚至其他指令都没有生效。

有人遇到过这样的事情吗?

有两个不同的原因:

  • setCloseButtonIcon

    可能不起作用,因为您使用的位图 尺寸错误。正如所记录的 developer.android.com:

    Key that specifies the Bitmap to be used as the image source for the action button. The icon should't be more than 24dp in height (No padding needed. The button itself will be 48dp in height) and have a width/height ratio of less than 2.

    您可以从 custom-tabs-client 存储库中获得正确的 后退箭头 位图。

  • addDefaultShareMenuItem

    正如您在 chromium.org 上看到的那样,默认的共享按钮是新添加的功能,它 目前仅适用于 Chrome Beta and Chrome Dev. You need to wait that Chrome Stable 将更新此功能,同时此参数将在稳定版本中被忽略。