Different values folders in android

John R picture John R · Jan 22, 2014 · Viewed 86.3k times · Source

I am creating different values folders in my app (values, values-ldpi, values-mdpi, values-hdpi, values-xhdpi, values-nodpi, values-w360dp-mdpi). But some devices that belong same category. But having different screen sizes. But I see give font size according to device densities in this the answer provided by @PankajSharma suggest to create folders like-

res/values/dimens.xml    
res/values-small/dimens.xml    
res/values-normal/dimens.xml    
res/values-xlarge/dimens.xml

I want to know what is the difference b/w my way and the other way? I think the answer provided by @PankajSharma is easy. I also want to know which way is better?

Answer

Rakeeb Rajbhandari picture Rakeeb Rajbhandari · Jan 24, 2014

The approach you are using is a valid approach, but a little outdated. From HoneyComb, there is a new way to fix all of this. Your resources folder should now look like this:

enter image description here

Please refer to the link I have posted and familiarize yourself with Smallest Width concept.

Hope this helps :)

EDIT: Adding to this post, try to establish some kind of standardization in your dimens.xml, something like this:

enter image description here

Doing this makes it easier to maintain code, plus it reduces the number of dimen folders. Normally rather than having values-hdpi, values-xhdpi, etc. files like values-sw480dp-xhdpi might have more values to adjust, but then again all of this is contextual.