Android:如何从设计中计算dpi?

Android:如何从设计中计算dpi?,android,layout,Android,Layout,我有一个800 x 480(景观)的设计是用photoshop制作的,现在我正试图在Android上实现同样的设计 如何计算线性布局的宽度和高度?例如,收割台的宽度为800px,高度为60px。他们有多少个新闻部 最小值和目标SDK为14。我是否需要担心使用更小显示器的设备?(小于480x800)?(我不知道旧设备是否可以运行Android 4+) 我已经在我的AVD(Nexus 7)上进行了测试,下面是它的外观(根据我的photoshop设计): 但在平板电脑上: 我需要为不同的设备创建不

我有一个800 x 480(景观)的设计是用photoshop制作的,现在我正试图在Android上实现同样的设计

如何计算线性布局的宽度和高度?例如,收割台的宽度为800px,高度为60px。他们有多少个新闻部

最小值和目标SDK为14。我是否需要担心使用更小显示器的设备?(小于480x800)?(我不知道旧设备是否可以运行Android 4+)

我已经在我的AVD(Nexus 7)上进行了测试,下面是它的外观(根据我的photoshop设计):

但在平板电脑上:


我需要为不同的设备创建不同的布局吗?

您首先需要了解的是,您的设计是针对哪种密度的。最常见的情况是在mdpi中进行设计,这意味着设备上的1dp(带有mdpi屏幕)将相当于设计布局的1px。在密度较高的设备上,它将相应增加(4:6:8规则)

第二件事-在dp中提供值不会神奇地为更大的设备放大布局。请注意,dpi与屏幕分辨率不同。因此,例如,具有1280x800屏幕分辨率的大型10英寸平板电脑是mdpi设备(不是hdpi,不是xhdpi)

第三,。说“800x600设备比1280x800小”毫无意义,因为它们可能都是,例如,4英寸手机

四,。屏幕分辨率与SDK版本无关


你们需要做的是为更大的设备寻找另一种设计,或者询问设计师他想看到什么。也许图像的大小不应该严格按照dp来确定,也许它们应该按照占屏幕的百分比来确定?

我怀疑您可能问错了问题。你想达到什么目标?无论屏幕大小如何,全屏显示图像?是。我想在平板电脑上显示与手机上相同的视图(图像比例)。在ImageView XML声明中使用
android:scaleType
。您可能想要
CENTER\u INSIDE
FIT\u CENTER
我不需要定义ImageView页边距?在手机上,我定义了边距(左起10dpi,上起10dpi)。这无关紧要。图像将根据边距和填充进行缩放。为什么不试试呢?;)确切地说,占屏幕的百分比。我只想知道如何计算每个设备的DPI。我在某处看到了一个设备列表(密度)。@ZbarceaChristian若我们谈论的是百分比,那个么用dp来衡量它是并没有意义的。让我们用百分比来衡量它:)为此,您可以使用
LinearLayout
,并为它的子对象提供
layout\u weight
param(有点类似于您正在寻找的百分比)。@ZbarceaChristian并且不要忘记,
ImageView
不会放大它的图像。有关更多信息,请查看问题下方的评论。