Does setWidth(int pixels) use dip or px?

android, density-independent-pixel, pixel, units-of-measurement, width

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()));

Problem

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.

Original source

Related problems