Android: how to deal with devices with unfortunate dpi classification?
<p>My application has a toolbar with ImageButtons that I use as application buttons.  I specify the layout_width and layout_height of the buttons as 12mm. (12mm * 160dpi) / (25.4 mm/in ) = 75.9pix, on a 160dpi device.  Similarly, it will be 113.4pix on a 240dpi device.  So, I would be inclined to make my mdpi drawables about 60x60 and my hdpi drawables about 90x90 (to allow for some margins and such).  </p>

<p>However, I run into an issue on devices like my Samsung Galaxy Tab.  Which, unfortunately, is classified as hdpi despite being only 170dpi.  At 170dpi, 12 mm = 80.3pix.  But, because it is hdpi, it will use the 90x90 icon, which is far too big.</p>

<p>My inclination is forgo the ldpi/mdpi/hdpi framework, and just package icons at 30x30, 40x40, 50x50... 100x100.  And, in code, choose which one to use based on the stated dpi on the device (which is also inaccurate, but far less so).  However, this seems hard to maintain and just generally inefficient.</p>

<p>Any advice on how to handle this situation? </p>
