vinay kumar
vinay kumar

Reputation: 1449

Android resource size qualifier

I unable to get the values from "values-sw480dp" nor on my sony Xperia device which is 480 x 854 neither on Samsung galaxy tab which is 600 x 1024. But able to get on Motorola Xoom which is 1280 x 752.

e.g res/values-sw480dp/strings.xml/

<string name="hello_world">hello world</string>

The values on respective devices

Sony Xperia ----> @2131034113

Samsung ----> @2131034113

on xoom ---> hello world

Can any one explain me this behavior, why Sony Xperia and Samsung has "@2131034113" value.

Thank you in advance

Upvotes: 1

Views: 5461

Answers (1)

user1410657
user1410657

Reputation: 1294

According to http://developer.android.com/guide/topics/resources/providing-resources.html, sw480dp means «smallest side of screen must be at least 480 dp». Now dp is a «pixel on a 160 dpi screen», so actual size of e.g. Xperia in dp would be I guess 320 x 569 (provided it's a hdpi device).

To get device screen size in dp you need to know abstracted density class (ldpi=120, mdpi=160, hdpi=240, xhdpi=320). For the above Xperia screen the calculation is: (480*160/240) x (854*160/240), where 160 is the base density (it's where 1 dp actually equal to one pixel) and 240 is device abstracted density.

Upvotes: 4

Related Questions