我制作了我的第一个Android应用程序。我阅读了很多关于图片的内容,并针对mdpi
hdpi
xhdpi
和xxhpi
制作了单独的尺寸。
虽然我注意到我在较小的屏幕3.7"
和4.0"
英寸上仍然存在一些问题。我注意到的是,我使用buttons
TextViews
和Text sizes
之类的固定值。
我偶然发现并阅读了dimens
个文件,但我仍然对values
的文件夹结构应该如何感到困惑。
更具体一点
drawable
drawable-hdpi
drawable-mdpi
drawable-xhdpi
drawable-xxhdpi
values
文件夹结构应该如何?
我在某个地方看过它应该看起来像values-sw600dp
。
但是600dp
代表什么?
600dpi
及以上?
我可以在那里使用自定义值还是有一些固定值?
谢谢
答案 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表示文本大小。