Android工作室为不同的屏幕尺寸声明文本大小和按钮大小

时间:2015-04-02 17:41:36

标签: android

我制作了我的第一个Android应用程序。我阅读了很多关于图片的内容,并针对mdpi hdpi xhdpixxhpi制作了单独的尺寸。

虽然我注意到我在较小的屏幕3.7"4.0"英寸上仍然存在一些问题。我注意到的是,我使用buttons TextViewsText sizes之类的固定值。

我偶然发现并阅读了dimens个文件,但我仍然对values的文件夹结构应该如何感到困惑。

更具体一点

drawable

drawable-hdpi

drawable-mdpi

drawable-xhdpi

drawable-xxhdpi

values文件夹结构应该如何? 我在某个地方看过它应该看起来像values-sw600dp。 但是600dp代表什么? 600dpi及以上? 我可以在那里使用自定义值还是有一些固定值?

谢谢

2 个答案:

答案 0 :(得分:0)

您可以使用不同的值 px是一个像素。 sp是与比例无关的像素。 dip是与密度无关的像素。

sp表示字体大小 为其他一切而努力。

浸== DP

来自Android开发者中心:

英寸 - 基于屏幕的物理尺寸。 1英寸= 2.54厘米

毫米 毫米 - 基于屏幕的物理尺寸。

pt(取决于屏幕的物理尺寸)点数 - 基于屏幕物理尺寸的1/72英寸。 这将有助于您进一步了解。

在此输入图片说明

DP 密度无关像素 - 一种基于屏幕物理密度的抽象单元。这些单位相对于160 dpi的屏幕,因此一个dp是160 dpi屏幕上的一个像素。 dp与像素的比率将随着屏幕密度而变化,但不一定成正比。注意:编译器同时接受“dip”和“dp”,但“dp”与“sp”更加一致。

属 与比例无关的像素 - 这与dp单位类似,但它也可以根据用户的字体大小首选项进行缩放。建议您在指定字体大小时使用此单位,以便根据屏幕密度和用户偏好调整它们。

要说清楚 - 除非你绝对必须,否则尽量不要使用sp或dp之外的任何东西。使用sp / dp将使您的Android应用程序兼容多种屏幕密度和分辨率,这样dp / sp将根据用户的屏幕进行转换。

答案 1 :(得分:0)

版本3.2之后,sw600dp用于dp大于600的设备的多布局窗格,其中dp为:

px = dp * (dpi / 160)

这与您的要求无关(除非您想要使应用与平板电脑兼容)。

只需确保将比例图像大小放在xhdpi,xxhdpi,mdpi和ldpi文件夹中,然后对图像使用wrap_content。您也可以使用常量,只需确保使用dp表示按钮,sp表示文本大小。