首页 > 解决方案 > 更改矢量应用程序图标的背景颜色

问题描述

我正在尝试在 android 上创建一个小助手以获得乐趣,我想使用与谷歌助手相同的图标,但背景较暗,但它不起作用: 在此处输入图像描述 我尝试使用带有形状的图层列表(圆形或一个正方形),但它并不完全适合圆形图标。我也试过:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/midnightblue"/>
    <item android:drawable="@drawable/ic_assistant"/>
</layer-list>

但正如您在屏幕截图中看到的那样,我得到了相同的结果。你有什么主意吗?

标签: javaandroidvector

解决方案


尝试将白色设置为启动器图标背景。例如在res/mipmap-anydpi-v26目录中:

ic_launcher.xml

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

ic_launcher_round.xml

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

res/drawable目录中:

ic_launcher_background.xml

<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="108dp"
    android:height="108dp"
    android:viewportHeight="108"
    android:viewportWidth="108">
    <path
        android:fillColor="#FFFFFF"
        android:pathData="M0,0h108v108h-108z" />
</vector>

毕竟,我们可以缩放内部图标以强制它包含在圆圈中。

ic_assistant.xml

<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="48dp"
    android:height="48dp"
    android:viewportWidth="512"
    android:viewportHeight="512">

    <group
        android:scaleX="0.5"
        android:scaleY="0.5"
        android:translateX="128"
        android:translateY="128">

        <path
            android:fillColor="#4285F4"
            android:pathData="M156.268,167.705m-156.268,0a156.268,156.268 0,1 1,312.536 0a156.268,156.268 0,1 1,-312.536 0" />
        <path
            android:fillColor="#34A853"
            android:pathData="M512,182.95c0,17.544 -14.224,31.762 -31.762,31.762s-31.762,-14.218 -31.762,-31.762c0,-17.543 14.224,-31.762 31.762,-31.762S512,165.407 512,182.95z" />
        <path
            android:fillColor="#EA4335"
            android:pathData="M454.829,260.449c0,35.081 -28.438,63.522 -63.523,63.522c-35.088,0 -63.524,-28.441 -63.524,-63.522c0,-35.083 28.437,-63.524 63.524,-63.524C426.392,196.925 454.829,225.367 454.829,260.449z" />
        <path
            android:fillColor="#FBBC05"
            android:pathData="M467.533,424.339c0,42.1 -34.124,76.225 -76.228,76.225c-42.104,0 -76.229,-34.125 -76.229,-76.225c0,-42.098 34.124,-76.227 76.229,-76.227C433.409,348.112 467.533,382.241 467.533,424.339z" />

    </group>

</vector>

推荐阅读