【问题标题】:Convert a multicolored SVG gradient drawable to Android xml vector drawable将多色 SVG 渐变可绘制对象转换为 Android xml 矢量可绘制对象
【发布时间】:2020-10-26 09:50:30
【问题描述】:

此图像是在 Adob​​e Illustrator 上创建的,我已将其导出为 SVG 可绘制对象。然后我在 Android Studio 上导入了它。但是渐变没有显示,它已经像透明矩形一样被导入。如何导入或创建这样的渐变?

【问题讨论】:

    标签: android xml svg android-vectordrawable


    【解决方案1】:

    您可以使用径向渐变轻松实现这一点!您基本上重叠了 4 个“光点”,一个用于红色、黄色、蓝色和绿色。然后将它们垂直 (scaleY) 和水平 (scaleX) 移动到正确的位置。

    这是一个正确组合的概念证明,您当然需要对其进行调整以完全匹配您的设计/颜色:

    这是它的 XML。这需要放入/res/drawable/ 文件夹内的.xml 文件中:

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item>
            <shape android:layout_height="wrap_content">
                <solid android:color="@android:color/black" />
            </shape></item>
    
        <item><shape>
            <gradient
                android:type="radial"
                android:gradientRadius="80%"
                android:startColor="@android:color/red"
                android:centerX="0.1"
                android:centerY="0.1"
                android:endColor="@android:color/transparent" />
        </shape></item>
    
        <item><shape>
            <gradient
                android:type="radial"
                android:gradientRadius="80%"
                android:startColor="#FFFF00"
                android:centerX="0.9"
                android:centerY="0.1"
                android:endColor="@android:color/transparent" />
        </shape></item>
    
        <item><shape>
            <gradient
                android:type="radial"
                android:gradientRadius="80%"
                android:startColor="#00008B"
                android:centerX="0.1"
                android:centerY="0.5"
                android:endColor="@android:color/transparent" />
        </shape></item>
    
        <item><shape>
            <gradient
                android:type="radial"
                android:gradientRadius="80%"
                android:startColor="#74ae5b"
                android:centerX="0.9"
                android:centerY="0.5"
                android:endColor="@android:color/transparent" />
        </shape></item>
    
    </layer-list>
    

    【讨论】:

    • 感谢您的回答。但我为此使用了一张图片。
    猜你喜欢
    • 1970-01-01
    • 2020-10-13
    • 1970-01-01
    • 2015-08-29
    • 2021-03-30
    • 2016-05-25
    • 2016-11-04
    • 2023-04-02
    • 1970-01-01
    相关资源
    最近更新 更多