首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自适应图标定位问题

自适应图标定位问题
EN

Stack Overflow用户
提问于 2020-05-12 11:15:56
回答 1查看 591关注 0票数 1

我有自适应的XML图标,由3个绘图构建。

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
    <background>
        <layer-list>
            <item>
                <shape>
                    <solid android:color="#fff" />
                    <size android:width="108dp" android:height="108dp" />
                </shape>
            </item>
            <item android:drawable="@drawable/icon_abc"
                android:width="54dp"
                android:height="27dp"
                android:top="27dp"
                android:left="27dp" />
        </layer-list>
    </background>
    <foreground>
        <layer-list>
            <item
                android:width="108dp"
                android:height="56dp"
                android:drawable="@drawable/icon_foreground"
                android:top="56dp"
                />
            <item
                android:width="54dp"
                android:height="27dp"
                android:drawable="@drawable/icon_pluseq"
                android:left="27dp"
                android:top="56.5dp"
                />
        </layer-list>
    </foreground>
</adaptive-icon>

下面是Android的预览版。

但是,当我在模拟器(API v27)上安装我的应用程序时,我会看到以下内容:

我在写这篇文章之前读过 的答案。在链接问题中,的图标大小不合适,但我的图标大小为108x108dp,内部前台的大小为72x72dp (如预览中所示)。在这种情况下,我看到那个图标根本没有居中。

UPD:在概述窗口图标中正确显示:

UPD 2:如果我使用经典方法并为背景和前景提供了两个webp mipmap,如下图所示,那么图标将按预期显示。

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
    <background android:drawable="@mipmap/icon_xxhdpi_background" />
    <foreground android:drawable="@mipmap/icon_xxhdpi_foreground" />
</adaptive-icon>

但是,使用这种方法,我无法实现xml可绘制,例如,对于图标的圆形版本,可以缩放mipmap。这意味着我不得不存储2个不同版本的webp图标(4个图像),其总大小为10 KiB,是xml的2 KiB的5倍。

UPD 3:下面是xxhdpihdpi屏幕输出的比较

正如我所看到的,结果是不同的。可能存在某种解决问题,可能是在资源文件夹命名中。

UPD 4:我检查了注释中建议的可能解决方案。

使用bitmap而不是drawable引用没有什么区别,因为最终结果是正确构建的(正如我在概述窗口中所看到的),但是图标的“桌面”版本仍然显示得不正确。

似乎这是一个系统错误:(

EN

回答 1

Stack Overflow用户

发布于 2020-05-24 08:13:22

把你的图标做个矢量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61750314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档