Issue
Does setWidth(int pixels) use device independent pixel or physical pixel as unit? For example, does setWidth(100) set the a view's width to 100 dips or 100 pxs?
Thanks.
Solution
It uses pixels, but I'm sure you're wondering how to use dips instead. The answer is in TypedValue.applyDimension()
. Here's an example of how to convert dips to px in code:
// Converts 14 dip into its equivalent px
Resources r = getResources();
int px = Math.round(TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP, 14,r.getDisplayMetrics()));
Answered By - Dan Lew
Answer Checked By - Katrina (JavaFixing Volunteer)