16

我尝试在 Chrome 自定义选项卡(CustomTabsIntent.Builder)中更改关闭按钮的默认图标

简单的测试代码:

Bitmap closeIcon = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);
intentBuilder.setCloseButtonIcon(closeIcon);

但什么也没有发生。为什么?(Nexus 7,棉花糖)

4

2 回答 2

1

通常这是由使用具有“错误”尺寸的位图引起的。此处记录了正确的尺寸:https ://developer.android.com/reference/android/support/customtabs/CustomTabsIntent.html#KEY_ICON

于 2016-02-07T21:57:41.973 回答
1

关闭图标需要为 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>

在 Kotlin 中,您可以检索此可绘制对象并将其添加到您的构建器中,如下所示:

AppCompatResources.getDrawable(main, R.drawable.close_icon)?.let {
            DrawableCompat.setTint(it, Color.WHITE)
            builder.setCloseButtonIcon(it.toBitmap())
        }

这个答案有更多细节。

于 2020-06-03T01:18:49.523 回答