Comment setbounds de drawable fonctionne sous Android?
Je suis confondue avec la méthode setbounds de drawable dans Android. Je sais que c'est utilisé avec drawable et de définir l'emplacement de drawable et comment il est grand. Brièvement, il définit, rectangle de délimitation pour drawable. Mais je suis confus: est-il définir la frontière ou de remplissage ou de sa largeur ou de la hauteur?
C'est la façon dont nous utilisons setbounds
drawableInstance.setBounds(L,T,R,B);
Premier scénario
Donc, dans le cas ci-dessus, Si j'ai mis 5,5,5,5 pour L,T,R,B, L,T,R,B de drawable sera toujours de son parent, respectivement? Je veux dire qu'il sera comme paramètre caché 5px frontière de chaque côté?D'ailleurs, si l'image n'est pas assez grand pour se rencontre que la largeur de la bordure à son parent, une image de plus grand?
Deuxième scénario
J'ai mis 5,5,100,100 pour L,T,R,B, respectivement. Ce que je suis confuse est, il commence à dessiner à partir de l'écart de parent 5px vers le haut et 5px vers la gauche. Qui sera le point de départ. Puis l'image avec la volonté de 100px, car j'ai mis 100 pour la droite. Donc, il va à droite 100px. Même en bas à droite.
Mais je l'ai testé. Je pense que ce n'est pas comme ce que je pense. Comment ça fonctionne, surtout par rapport à chaque paramètre de setBounds?
OriginalL'auteur Wai Yan Hein | 2016-04-19
Vous devez vous connecter pour publier un commentaire.
Les limites des valeurs absolue, et non relative. C'est,
width == right - left
, etheight == bottom - top
.Votre premier exemple aura le coin supérieur gauche de la
Drawable
à(5, 5)
, mais la largeur et la hauteur seront0
.Le deuxième exemple, auront aussi le coin en haut à gauche à
(5, 5)
, et la largeur et la hauteur seront95
.Les limites ne sont pas fonction de la dimension de la
Canvas
à laquelle leDrawable
est dessiné. Par exemple, si vous dessinez unDrawable
avec les limites de votre deuxième exemple sur unView
qui n'est50
par50
, ses côtés gauche et supérieur sera encadré par5
, mais il va être coupée à droite et à bas les frontières.Votre réponse semble directement applicable dans les cas où je suis en train de définir un drawable à l'intérieur d'un bouton à son côté gauche. L'encart de calcul du changement quand même pour le côté droit de la touche? Aussi, ces mesures en px ou dp ? @WaiYanHein
OriginalL'auteur Mike M.