开发者

What units to pass UI methods?

Reading the Supporting Multiple Screens of the Android developer guide it says it is always best to use density independent pixels (dp) instead of pixels and it also says Android handles most of the application rendering on different density devices.

Now my question is, if we look at the padding function of the View class

setPadding (int left, int top, int right, int bottom)

left     the left padding in pixels
top       the top padding in pixels
right   the right padding in pixels
bottom    the bottom padding in pixels

When I use this function is it alright to pass direct values or do I have to pass converted values, from dp to px, to best s开发者_开发百科how the UI in all devices?


Check out this padding reference and search for android:padding

It looks like you will need to convert from dip to pixels to set the padding. You should convert the values from dip to pixels so that it works correctly on different devices.


Convert your dip value to pixels and pad with that.

final float scale = getContext().getResources().getDisplayMetrics().density;

int valuePixels = (int)(valueDip * scale);
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜