Есть код файла векторного изображения. который преобразуется в градиентное изображение.
Я хочу, чтобы это векторное изображение было градиентом двух кругов.
<?xml version = "1.0" encoding = "utf-8"?>
<vector xmlns:android = "http://schemas.android.com/apk/res/android"
android:width = "1024.000000dp"
android:height = "1024.000000dp"
android:viewportWidth = "1024.000000"
android:viewportHeight = "1024.000000">
<group
android:translateY = "1024.000000"
android:scaleX = "0.100000"
android:scaleY = "-0.100000">
<path
android:fillColor = "#000000"
android:strokeWidth = "1"
android:pathData = "M4750 10229 c-1481 -111 -2824 -843 -3722 -2029 -327 -433 -603 -959 -772 -1475 -238 -726 -312
-1503 -216 -2260 128 -1003 543 -1931 1210 -2705 100 -117 372 -392 490 -495 431 -380 954 -700 1484 -910 433 -170 829 -271
1311 -331 173 -22 813 -31 1010 -15 859 72 1667 349 2383 817 577 378 1079 875 1456 1444 154 232 221 349 341 591 274 555 440
1143 500 1773 17 185 21 736 5 916 -84 969 -426
1868 -1004 2640 -192 257 -509 597 -746 801 -856 736 -1890 1161 -3008 1238 -177 13 -554 12 -722 0z" />
</group>
</vector>
Мы можем сделать векторный градиент, объединив вектор и форму. Чтобы объединить вектор и форму, мы должны создать список слоев, как показано ниже:
<?xml version = "1.0" encoding = "utf-8"?>
<layer-list xmlns:android = "http://schemas.android.com/apk/res/android">
<item>
<vector xmlns:android = "http://schemas.android.com/apk/res/android"
android:width = "1024.000000dp"
android:height = "1024.000000dp"
android:viewportWidth = "1024.000000"
android:viewportHeight = "1024.000000">
<group
android:translateY = "1024.000000"
android:scaleX = "0.100000"
android:scaleY = "-0.100000">
<path
android:fillColor = "#000000"
android:strokeWidth = "1"
android:pathData = "M4750 10229 c-1481 -111 -2824 -843 -3722 -2029 -327 -433 -603 -959 -772 -1475 -238 -726 -312
-1503 -216 -2260 128 -1003 543 -1931 1210 -2705 100 -117 372 -392 490 -495 431 -380 954 -700 1484 -910 433 -170 829 -271
1311 -331 173 -22 813 -31 1010 -15 859 72 1667 349 2383 817 577 378 1079 875 1456 1444 154 232 221 349 341 591 274 555 440
1143 500 1773 17 185 21 736 5 916 -84 969 -426
1868 -1004 2640 -192 257 -509 597 -746 801 -856 736 -1890 1161 -3008 1238 -177 13 -554 12 -722 0z" />
</group>
</vector>
</item>
<item>
<shape xmlns:android = "http://schemas.android.com/apk/res/android"
android:shape = "oval">
<solid android:color = "#8df"/>
<size
android:width = "48dp"
android:height = "48dp"
/>
<gradient android:centerColor = "@android:color/holo_purple"
android:startColor = "@android:color/holo_red_dark"
android:endColor = "@android:color/holo_green_dark"
/>
</shape>
</item>
</layer-list>
Привет, если вы хотите изображение выше без значка, вот обновленный ответ:
<?xml version = "1.0" encoding = "utf-8"?>
<layer-list xmlns:android = "http://schemas.android.com/apk/res/android">
<item
android:width = "1024dp"
android:height = "1024dp">
<shape xmlns:android = "http://schemas.android.com/apk/res/android"
android:shape = "oval">
<gradient
android:startColor = "@color/color1"
android:centerColor = "@color/color2"
android:endColor = "@color/color3"
/>
</shape>
</item>
<item
android:width = "900dp"
android:height = "900dp"
android:gravity = "center">
<shape xmlns:android = "http://schemas.android.com/apk/res/android"
android:shape = "oval">
<gradient
android:startColor = "@color/color4"
android:centerColor = "@color/color5"
android:endColor = "@color/color6"
/>
</shape>
</item>
</layer-list>
Могу ли я узнать, в чем проблема с использованием списка слоев?
У меня нет проблем с использованием списка слоев, но я хочу, чтобы этот тип изображения ... как указано выше, я добавил в свой вопрос (только фоновый градиент, а не значок)
я обновил свой ответ для фоновых кругов без значка плюса, как вы хотите
Я попытался создать инструмент по умолчанию для Android-студии Векторные активы.
С помощью этого инструмента я создал значок Instagram.
<vector android:height = "24dp" android:viewportHeight = "1024"
android:viewportWidth = "1024" android:width = "24dp"
xmlns:aapt = "http://schemas.android.com/aapt" xmlns:android = "http://schemas.android.com/apk/res/android">
<path android:fillColor = "#AFAFAF" android:pathData = "M514.32,19.82c-271.89,0 -492.35,220.46 -492.35,492.46c0,271.9 220.46,492.35 492.35,492.35c271.91,0 492.36,-220.45 492.36,-492.35C1006.68,240.29 786.22,19.82 514.32,19.82z"/>
<path android:pathData = "M514.32,19.82c-271.89,0 -492.35,220.46 -492.35,492.46c0,271.9 220.46,492.35 492.35,492.35c271.91,0 492.36,-220.45 492.36,-492.35C1006.68,240.29 786.22,19.82 514.32,19.82z">
<aapt:attr name = "android:fillColor">
<gradient android:endX = "191.28621" android:endY = "140.62901"
android:startX = "837.3545" android:startY = "883.8457" android:type = "linear">
<item android:color = "#FF5D3FD2" android:offset = "0"/>
<item android:color = "#FFB829A9" android:offset = "0.4244"/>
<item android:color = "#FFBE289D" android:offset = "0.5009"/>
<item android:color = "#FFD0257E" android:offset = "0.6383"/>
<item android:color = "#FFE62256" android:offset = "0.7849"/>
<item android:color = "#FFE83156" android:offset = "0.8147"/>
<item android:color = "#FFEE5755" android:offset = "0.8718"/>
<item android:color = "#FFF89554" android:offset = "0.9495"/>
<item android:color = "#FFFFC153" android:offset = "1"/>
</gradient>
</aapt:attr>
</path>
<path android:fillColor = "#00000000"
android:pathData = "M373.41,751.08L373.41,751.08l-0,-0L373.41,751.08zM655.24,252.01h0.01H655.24L655.24,252.01z"
android:strokeColor = "#FFFFFF" android:strokeWidth = "1"/>
<path android:fillColor = "#FFFFFF" android:pathData = "M514.32,688.04c96.96,0 175.84,-78.84 175.84,-175.76c0,-96.97 -78.88,-175.87 -175.84,-175.87c-96.95,0 -175.83,78.9 -175.83,175.87C338.49,609.2 417.37,688.04 514.32,688.04zM381.14,512.28c0,-73.49 59.74,-133.28 133.18,-133.28s133.19,59.79 133.19,133.28c0,73.44 -59.75,133.19 -133.19,133.19S381.14,585.72 381.14,512.28z"/>
<path android:fillColor = "#FFFFFF" android:pathData = "M689.68,804.29H338.96c-65.82,0 -119.37,-53.55 -119.37,-119.37V339.55c0,-65.82 53.55,-119.37 119.37,-119.37h350.72c65.82,0 119.37,53.55 119.37,119.37v345.37C809.05,750.74 755.5,804.29 689.68,804.29zM338.96,263.73c-41.8,0 -75.82,34.01 -75.82,75.82v345.37c0,41.8 34.01,75.82 75.82,75.82h350.72c41.8,0 75.82,-34.01 75.82,-75.82V339.55c0,-41.8 -34.01,-75.82 -75.82,-75.82H338.96z"/>
<path android:fillColor = "#FFFFFF" android:pathData = "M692.54,316.36c-15.38,0 -27.76,12.52 -27.76,27.79c0,15.37 12.38,27.72 27.76,27.72c15.26,0 27.78,-12.35 27.78,-27.72C720.32,328.88 707.8,316.36 692.54,316.36z"/>
</vector>
привет .. но я не могу использовать список слоев .. без использования списка слоев редактировать только в векторном файле это возможно?