Android: measureText() Return Pixels Based on Scaled Pixels
You need to get the densityMultiplier like so: final float densityMultiplier = getContext().getResources().getDisplayMetrics().density; final float scaledPx = 20 * densityMultiplier; paint.setTextSize(scaledPx); final float size = paint.measureText(“sample text”);