我尝试更改Chrome自定义标签中的关闭按钮的默认图标(CustomTabsIntent.Builder)
简单的测试代码:
Bitmap closeIcon = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);
intentBuilder.setCloseButtonIcon(closeIcon);
但没有任何反应。为什么? (Nexus 7,Marshmallow)
答案 0 :(得分:1)
通常,这是因为使用具有“错误”维度的位图。这里记录了正确的尺寸:https://developer.android.com/reference/android/support/customtabs/CustomTabsIntent.html#KEY_ICON
答案 1 :(得分: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())
}
此answer有更多详细信息。