Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android padding problem

:) I'm having the following problem: I have a view and i want to add borders to it. What I'm currently trying to do is to set padding to the view (padding from all the sides) and set background color to it which will fill the padding. The thing is that it seems to me that it's possible to set padding either only from top and left or from bottom and right but not from all of them together. I.e if i write

view.setPadding(border,border,border,border)

this will set padding only from top and left. In order to set padding from bottom and right I have to write:

view.setPadding(-border,-border,0,0)

which won't leave left and top padding and so on. If I try to use margin it moves the whole block(the view + the padding area), but not only the view, so this doesn't seem to work either. Any ideas on how to do it without having to use a wrapping layout? Thanks!

like image 995
asenovm Avatar asked Apr 26 '11 14:04

asenovm


People also ask

What is padding attribute in Android?

The padding is expressed in pixels for the left, top, right and bottom parts of the view. Padding can be used to offset the content of the view by a specific number of pixels. For instance, a left padding of 2 will push the view's content by 2 pixels to the right of the left edge.

What is padding and margin in Android?

Note that padding goes completely around the content: there is padding on the top, bottom, right and left sides (which can be independent). Margins are the spaces outside the border, between the border and the other elements next to this view. In the image, the margin is the grey area outside the entire object.

What is padding start in Android Studio?

Padding is used to add a blank space between a view and its contents.


1 Answers

What exactly happens when you use the first example?

The four int parameters for setPadding() are for left, top, right, and bottom, respectively. So, calling setPadding(4, 5, 6, 7) should give you 4 pixels of space for the left edge, 5 for the top, 6 for the right, and 7 for the bottom. What result are you getting when you do this? Can you show a screenshot?

like image 64
Kevin Coppock Avatar answered Sep 19 '22 02:09

Kevin Coppock