 <p>Using dp is the right way. It wont be a constant size cuz AOS will scale dps using multiplier according to screen density. (btw dip==dp they are absolutely the same) so dps are density independent. However scaling is not enough usually. So you need to create separate resources for different screens and I might say that supporting multiple screens is a really very big pain in da @$$. Seems like the only one good and proper way is to use OpenGL... <br> You might found following links helpful:<br> <a href="http://stackoverflow.com/questions/16097955/how-to-use-resource-qualifier-on-layouts-to-distinguish-smartphones-like-htc-des?rq=1">How to use resource qualifier on layouts to distinguish smartphones like HTC Desire and Samsung Galaxy Nexus</a> <br> <a href="http://stackoverflow.com/questions/14381965/image-size-drawable-hdpi-ldpi-mdpi-xhdpi">image size (drawable-hdpi/ldpi/mdpi/xhdpi)</a> <br> <a href="http://stackoverflow.com/questions/8459799/avoid-multiple-drawable-sets-hdpi-mdpi-ldpi?rq=1">Avoid Multiple Drawable Sets (hdpi/mdpi/ldpi)</a> <br> <a href="http://stackoverflow.com/questions/7647948/widget-layout-for-960x540-and-854x480">Widget Layout for 960x540 and 854x480</a> <br> <a href="http://stackoverflow.com/questions/16368937/getdimension-getdimensionpixelsize-mutliplier">getDimension()/getDimensionPixelSize() - mutliplier</a> <br> <a href="http://www.findbestopensource.com/product/svg-android" rel="nofollow">http://www.findbestopensource.com/product/svg-android</a></p>