问题
I have seen so many questions on StackOverFlow
how to support multiple screens. But most of the answers provide this link and this. And in the first one link I have got this. I am working with screen sizes first time so please help me.
xlarge screens are at least 960dp x 720dp
large screens are at least 640dp x 480dp
normal screens are at least 470dp x 320dp
small screens are at least 426dp x 320dp
And in case of xhdpi
they suggest 320 density. I am confused so I have following questions.
Like if I want to create Background image for xlarge screen then
960dp x 720dp
means I have to create image with width 720 pixels and height 960 pixels and resolution 320 in portrait mode?And if I want to create Background image for large screen then
640dp x 480dpp
means I have to create image with width 480 pixels and height 640 pixels and resolution more than 200 in portrait mode?The sizes above is for landscape mode i.e
960dp
for width and720dp
for height ?
回答1:
In android-
px = dp * (dpi / 160)
So in your first question
960dp x 720dp
at320dpi
means1920px x 1440px
for xlarge screen in landscape mode using above formula.640dp x 480dp
at240dpi
means960px x 720px
for large screen in landscape mode.
To learn more about check this.
回答2:
From Android: Supporting Multiple Screens
px = dp * (dpi / 160)
So for your example:
Your image dimensions are 960dp x 720dp
and your dpi is 320
(which you can see falls under XHDPI).
Height = 960dp * (320 / 160) = 1920px
Width = 720dp * (320 / 160) = 1440px
Height and width are arbitrary depending on the orientation of the phone
回答3:
Refer this for Conversion of dp into px for each dpi (Android)
回答4:
dp means density independent pixel. When you say for example 300dp means 300 pixels on a medium density (160dpi) screen. So if you want to translate dp on real resolution you have to multiply the dp for the density scale factor: es 300dp are
- 300 px on a mdpi screen
- 450 px on a hdpi screen
- 600 px on a xhdpi screen
so if you specify resources you should remember to use both size and density modifiers a background for a 480x800 px medium screen phone woul be picked from normal-hdpi folder an so on
来源:https://stackoverflow.com/questions/21144388/difficulty-to-understand-how-to-support-multiple-screen