Est-il valide pour une forme pouvant être dessinée dans Android d'utiliser fill_parent
pour sa taille?
<shape
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="oval">
<solid
Android:color="#666666"/>
<size
Android:width="fill_parent"
Android:height="fill_parent"/>
</shape>
MODIFIER
Ceci pour le fond des vues ImageButton
. Je souhaite que l'icône du bouton soit entourée d'un cercle, mais je ne sais pas toujours quelle sera la taille du bouton (tailles différentes pour chaque mise en page).
Pas vraiment. Ne pas utiliser une ShapeDrawable
seule. Si vous parcourez le document ShapeDrawable
, vous verrez (vous les utilisez déjà dans la balise) que les seuls attributs valides sont px, dp, sp, dans et mm
Une citation de la doc: Android:width="...."
Les unités disponibles sont: px (pixels), dp (pixels indépendants de la densité), sp (pixels mis à l'échelle en fonction de la taille de police préférée), en pouces, en mm (millimètres) Cela est vrai pour l'attribut:
Android:height
C'est de la spéculation de ma part}, mais je soupçonne que la valeur de l'attribut fill_parent ne fonctionnera pas, car un ShapeDrawble
, contrairement à un fichier XML Layout
, n'aura pas de conteneur parent.
Abandonner entièrement l'attribut <size.... />
et définir les layout_width
et layout_height
sur un widget qui référencera ledit ShapeDrawable est la seule option que je suspecte (si le fill_parent
doit être respecté).
Comment comptez-vous utiliser cette forme? Vous pouvez le définir en tant que src ou arrière-plan pour n’importe quelle vue et définir la hauteur de la vue dans "fill_parent" - c’est plus simple.
Je ne sais pas quel niveau d'API cela a pris effet, mais selon la documentation extensible par Shape, il sera mis à l'échelle proportionnellement à la vue. Ainsi, vous pouvez, par exemple, mettre width = 1dp et height = 1dp. Voir https://stuff.mit.edu/afs/sipb/project/Android/docs/guide/topics/resources/drawable-resource.html#Shape