Dégradé circulaire dans android
Je suis en train de faire un dégradé qui émet à partir du milieu de l'écran en blanc, et devient noir comme il se déplace vers les bords de l'écran.
Que je fais une "normale" dégradé comme ceci, j'ai fait des expériences avec différentes formes:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="#E9E9E9" android:endColor="#D4D4D4"
android:angle="270"/>
</shape>
Lors de l'utilisation de la "ovale"-la forme j'ai au moins appris une forme ronde, mais il n'y avait aucun effet de dégradé. Comment puis-je y parvenir?'
Vous devez vous connecter pour publier un commentaire.
Vous pouvez obtenir un dégradé circulaire à l'aide de
android:type="radial"
:J'ai toujours trouver des images utiles lors de l'apprentissage d'un nouveau concept, c'est donc un complément de réponse.
La
%p
signifie un pourcentage de la mère, c'est un pourcentage de la plus petite dimension de ce que la vue nous avons mis notre drawable sur. Les images ci-dessus ont été générés par la modification de lagradientRadius
dans ce codemy_gradient_drawable
Qui peut être réglé sur une vue
background
attribut comme ceCentre
Vous pouvez changer le centre du rayon avec
où les décimales sont une fraction de la largeur et de la hauteur de
x
ety
respectivement.Documentation
Voici quelques remarques à partir de la la documentation expliquer les choses un peu plus.
%
ou pas.Vous pouvez aussi le faire dans le code si vous avez besoin de plus de contrôle, par exemple une multitude de couleurs et de positionnement. Voici mon Kotlin extrait de code pour créer un drawable dégradé radial:
D'utilisation de base (mais n'hésitez pas à ajuster avec d'autres params):
Je pense que vous devriez ajouter android:centerColor
Cet exemple affiche un dégradé horizontal du blanc au noir au blanc.
Voici le xml complet avec dégradé, stoke & de forme circulaire.