What unit of measure does Paint.setStrokeWidth() use?
The stroke width is defined in pixels (yes it's a float, and there's no problem with using fractions of pixels :)
setStrokeWidth uses pixels.
So to convert you dps to pixels for painting:
int dpSize = 10;
DisplayMetrics dm = getResources().getDisplayMetrics() ;
float strokeWidth = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dpSize, dm);
paint.setStrokeWidth(strokeWidth);