existe-t-il un moyen simple de générer un dessin vectoriel qui est un cercle avec l'icône à l'intérieur du dessin vectoriel existant?
Je suggérerais quelque chose comme ceci:
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item
Android:gravity="fill"
Android:drawable="@drawable/ic_brightness_1_black_24dp"
/>
<item
Android:gravity="center"
Android:drawable="@drawable/ic_call_black_24dp"
Android:top="20dp"
Android:bottom="20dp"
Android:left="20dp"
Android:right="20dp"
/>
</layer-list>
Les ressources ayant les identifiants ic_brightness_1_black_24dp et ic_call_black_24dp sont des dessins vectoriels importés.
ic_brightness_1_black_24dp:
<vector xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:width="24dp"
Android:height="24dp"
Android:viewportWidth="24.0"
Android:viewportHeight="24.0">
<path
Android:fillColor="#303F9F"
Android:pathData="M12,12m-10,0a10,10 0,1 1,20 0a10,10 0,1 1,-20 0"/>
</vector>
et ic_call_black_24dp:
<vector xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:width="24dp"
Android:height="24dp"
Android:viewportWidth="24.0"
Android:viewportHeight="24.0">
<path
Android:fillColor="#FFFFFF"
Android:pathData="M6.62,10.79c1.44,2.83 3.76,5.14 6.59,6.59l2.2,-2.2c0.27,-0.27 0.67,-0.36 1.02,-0.24 1.12,0.37 2.33,0.57 3.57,0.57 0.55,0 1,0.45 1,1V20c0,0.55 -0.45,1 -1,1 -9.39,0 -17,-7.61 -17,-17 0,-0.55 0.45,-1 1,-1h3.5c0.55,0 1,0.45 1,1 0,1.25 0.2,2.45 0.57,3.57 0.11,0.35 0.03,0.74 -0.25,1.02l-2.2,2.2z"/>
</vector>
En fait, c'est assez simple, il vous suffit d'inclure les deux chemins dans un seul vecteur, donc avec vos chemins, cela ressemblera à ceci:
<vector xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:width="24dp"
Android:height="24dp"
Android:viewportWidth="24.0"
Android:viewportHeight="24.0">
<path
Android:fillColor="#303F9F"
Android:pathData="M12,12m-10,0a10,10 0,1 1,20 0a10,10 0,1 1,-20 0"/>
<path
Android:fillColor="#FFFFFF"
Android:pathData="M6.62,10.79c1.44,2.83 3.76,5.14 6.59,6.59l2.2,-2.2c0.27,-0.27 0.67,-0.36 1.02,-0.24 1.12,0.37 2.33,0.57 3.57,0.57 0.55,0 1,0.45 1,1V20c0,0.55 -0.45,1 -1,1 -9.39,0 -17,-7.61 -17,-17 0,-0.55 0.45,-1 1,-1h3.5c0.55,0 1,0.45 1,1 0,1.25 0.2,2.45 0.57,3.57 0.11,0.35 0.03,0.74 -0.25,1.02l-2.2,2.2z"/>
</vector>
Le résultat dépendra évidemment de la taille des chemins les uns par rapport aux autres, et comme leur mise à l'échelle sans outil graphique est pénible, la solution de DimDim avec un layer-list
est plus facile à implémenter.