首页 > 解决方案 > 为什么 Android Studio 生成的adaptive-icon 裁剪图像如此之多以至于无法使用?

问题描述

我使用 Android Studio 的 Asset Studio 来生成电视横幅: 在此处输入图像描述

Asset Studio 中的一切看起来都很棒,但是生成的自适应图标裁剪图像太多以至于无法使用: 在此处输入图像描述

这是它在 Android TV 上的样子: 在此处输入图像描述

任何人都可以阐明如何去除裁剪吗?

标签: androidandroid-tvandroid-iconsandroid-asset-studio

解决方案


由于自 9 个月前发布以来没有人回答这个问题,让我尝试用我自己的解决方案来回答它。

Android Studio 的 Asset Studio 会生成几个文件,其中之一是 mipmap-anydpi-v26 目录下的 ic_banner.xml:

<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
    <background android:drawable="@color/ic_banner_background"/>
    <foreground android:drawable="@mipmap/ic_banner_foreground"/>
</adaptive-icon>

它显示裁剪后的图像。我已将其修改如下:

<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
    <background android:drawable="@color/ic_banner_background"/>
    <foreground>
        <inset android:drawable="@mipmap/ic_banner_foreground"
            android:inset="12%"/>
    </foreground>
</adaptive-icon>

现在,该图标看起来就像其他电视应用程序图标一样。我从这篇文章中得到了提示。


推荐阅读