Table of contents
TLDR (too long didn’t read)
Why does this matter?
Resources
density multiplier documentation
display metric documentaion
My app on the Google play store
My app’s GitHub code
When trying to get the height of a Android device, make sure you do it in an pixel density independent way:
correct way to get height:
val heightPixels = displayMetrics.heightPixels //exact physical pixel amount(different on certain devices)
val density = displayMetrics.density //density multiplier
val pixelDensityIndependentHeight =heightPixels / density
wrong way to get height:
//as previously mentioned, this height will change depending on the
// device’s pixel density and it can really mess up your UI
I have created THIS UI FEATURE which relies heavily on my app being able to understand the height of the device and dividing it into 3 sections. If I don’t use the height in a pixel density independent way(unfortunately I did this) the UI will look different on different devices. Which obviously is not ideal
So to summarize, make sure you are conscious of pixel densities in your UI
Conclusion
Thank you for taking the time out of your day to read this blog post of mine. If you have any questions or concerns please comment below or reach out to me on Twitter.