Chrome自定义标签 - setCloseButtonIcon()不会更改图标

时间:2017-03-02 14:17:11

标签: android chrome-custom-tabs

我正在尝试更改Chrome自定义标签中关闭按钮的图标。但它并没有改变。

这是我的代码:

CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
builder.setCloseButtonIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_arrow_back));
CustomTabsIntent customTabsIntent = builder.build();
customTabsIntent.launchUrl(this, Uri.parse(url));

2 个答案:

答案 0 :(得分:0)

一个老问题,但是我偶然发现了这个问题,最近遇到了我认为同样的问题,所以我会回答。

我认为问题在于您使用的是矢量可绘制对象,但是您的代码需要PNG。当我使用调试断点发现解析图像文件的结果为null时遇到了这个问题。

This answer帮助了我。这是该答案中最相关的代码部分。它使用Android KTX

AppCompatResources.getDrawable(activity, R.drawable.ic_arrow_back_white_24dp)?.let {
    builder.setCloseButtonIcon(it.toBitmap())
}

答案 1 :(得分:0)

根据此documentation,关闭图标需要为24dp x 24dp。像这样的作品:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="24"
    android:viewportHeight="24"
    android:tint="?attr/colorControlNormal">
  <path
      android:fillColor="@android:color/white"
      android:pathData="M7.2,14.4m-3.2,0a3.2,3.2 0,1 1,6.4 0a3.2,3.2 0,1 1,-6.4 0"/>
  <path
      android:fillColor="@android:color/white"
      android:pathData="M14.8,18m-2,0a2,2 0,1 1,4 0a2,2 0,1 1,-4 0"/>
  <path
      android:fillColor="@android:color/white"
      android:pathData="M15.2,8.8m-4.8,0a4.8,4.8 0,1 1,9.6 0a4.8,4.8 0,1 1,-9.6 0"/>
</vector>