One useful guideline is to equate 1 pixel with 1 density-independent pixel (dp).
This conversion should provide a reliable size on almost any device, though it may appear slightly larger on certain devices like the regular iPad.
Here's the reasoning behind this:
"A dp represents the physical size of a pixel at 160 dpi" (https://developer.android.com/training/multiscreen/screendensities.html#TaskUseD)
At 160 dpi:
160 dots = 1 inch
Therefore:
160 dp = 1 inch (25.4 mm)
When Google suggests a touchable target height of 48 dp for buttons, they are indicating a height of 0.3 inches (7.6 mm).
The number of pixels required can vary depending on the device being used.
Examples for button height of 48 dp (7.6 mm):
Screen dimensions in mm and CSS px width for reference: The screen widths were calculated using the CSS px screen measurements and diagonal length.
- iPad mini: 1024 x 768 resolution and 201 mm diagonal = 120 mm width.
- Kindle Fire 7": 858 x 533 resolution and 178 mm diagonal = 94 mm width.
- Kindle Fire 6": 853 x 533 resolution and 152 mm diagonal = 81 mm width.
- iPhone: 568 x 320 resolution and 102 mm diagonal = 50 mm width.
- Nexus 7: 960 * 600 resolution and 178 mm diagonal = 94 mm width.
- iPad regular: 1024 x 768 resolution and 246 mm diagonal = 148 mm width.
Note that when calculating the px height of a button, the device's CSS px dimensions should be used as opposed to the stated resolutions in the specifications.