2015-04-02 18 views
0

我制作了我的第一个Android应用程序。我读了很多关于图像的文章,并为mdpihdpixhdpixxhpi制作了单独的尺寸。Android工作室宣布不同屏幕尺寸的文字大小和按钮大小

虽然我注意到我在小屏幕3.7"4.0"英寸仍然有一些问题。我注意到的是,我使用的是固定值,如buttonsTextViewsText sizes

我碰到过,并阅读了关于dimens文件,但我仍然有点困惑,应该如何应该values的文件夹结构。

更具体

drawable

drawable-hdpi

drawable-mdpi

drawable-xhdpi

drawable-xxhdpi

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

谢谢

回答

0

版本后3.2 sw600dp用于多布局窗格的设备,其DP为600余名,其中DP是更大:

px = dp * (dpi/160) 

这无关你的要求(除非你想使应用程序兼容片)。

只要确保您在xhdpi,xxhdpi,mdpi和ldpi文件夹中放置了成比例的图像大小,并使用wrap_content图像。你也可以使用常量大小,只要确保你使用按钮的dp和文本大小的sp。

+0

我使用'上的所有文本,但给你sp'一个例子,在'hdpi'屏幕上一个'17sp'大小的字符串填充它的宽度。一旦我把它放在'xxhdpi'屏幕上,它真的很小,不可读。我尝试使'values-mdpi'等文件夹根据屏幕dpi来声明尺寸,但它不会识别它。 – LefterisL 2015-04-02 19:32:58

+0

sp与dp(或dip)类似,但也考虑字体的用户设置。可能在xxhdpi设备中字体大小设置为小? – Kay 2015-04-02 20:57:06

+0

你是对的这是由于设备的字体设置 – LefterisL 2015-04-14 07:47:43

0

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

sp为字体大小 浸入其他所有内容。基于屏幕的物理尺寸 -

英寸:

浸== DP

从Android开发者中心。 1英寸= 2.54厘米

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

pt(取决于屏幕的物理尺寸)点数 - 基于屏幕物理尺寸的1/72英寸。 这会帮助你更多的理解。

在这里输入

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

sp 比例独立像素 - 这就像dp单位一样,但它也会根据用户的字体大小偏好进行缩放。建议您在指定字体大小时使用本机,以便根据屏幕密度和用户偏好进行调整。

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

+0

因此,如果创建一个高度为56dp的按钮对于所有屏幕尺寸都不会保持不变 - 各种dpi屏幕? – LefterisL 2015-04-02 18:01:45

+0

dp与像素的比率将随着屏幕密度而改变,但不一定与此成正比。 – dodo 2015-04-02 18:06:12

+0

这并不回答问题,即使用sw600dp文件夹的位置,原因和用途。这只是来自谷歌开发网站的有用数据,因此不会降价 – Kay 2015-04-02 18:08:35

相关问题