I am confused with setbounds method of drawable in Android. I know it is used with drawable and it set where drawable and how large it is. Briefly, it defines, bounding rectangle for drawable. But I am confused: does it set border or padding or its width or height?
This is how we use setbounds
So in above case, If I set 5,5,5,5 for L,T,R,B respectively, L,T,R,B of drawable will be always from its parent respectively? I mean will it be like setting hidden 5px border to every side?Besides, if image is not large enough to meets that border width to its parent, will image be bigger?
I set 5,5,100,100 for L,T,R,B respectively. What I am confusing is, it will starts drawing from away from parent 5px to the top and 5px to the left. That will be the start point. Then image with will be 100px because I set 100 for right. So it goes to the right 100px. Same to bottom with right.
But I tested it. I think both is not as what I think. How does it work, especially in relation to each parameter of setBounds?
The bounds values are absolute, not relative. That is,
width == right - left, and
height == bottom - top.
Your first example will have the top left corner of the
(5, 5), but the width and height will both be
The second example will also have the top left corner at
(5, 5), and the width and height will both be
The bounds are not dependent on the dimensions of the
Canvas to which the
Drawable is drawn. For instance, if you draw a
Drawable with the bounds of your second example onto a
View that is only
50, its left and top sides will be inset by
5, but it will get cut off at the right and bottom borders.