2012-03-06 89 views
1

我正在为android开发,我的代码在nexus或任何3.7英寸设备上运行完美。 如果我在平板电脑上运行它(7或10.1英寸),那么字体和按钮非常小,间距太大。分辨率和密度

如果我在2.7 QVGA上运行它,那么按钮太大且重叠。

我在整个布局中使用了dp和sp,所以我很惊讶它没有根据不同的屏幕尺寸/密度进行调整。 这是否意味着我必须在3个布局文件夹(大,中,小)中使用相同的XML布局,并将我的drawable放在3个不同密度的文件夹中? 还是我在这里不舒服。是的,我阅读了“支持多屏”文档,它只是丢失了我的细节(但我确实遵循了使用dp和sp的提示)。我正在寻找更多的总结/一般方法的答案。

回答

0

dp和sp根据屏幕密度进行调整。因此,具有500 dpi和4000 dpi但具有相同屏幕尺寸的屏幕看起来是相同的。

如果他们有不同的屏幕尺寸,它将不会适合你想要的。如果你想支持多种屏幕尺寸,你必须使用权重或百分比​​。

关键是dp =与设备无关的像素,它只根据密度而不是屏幕尺寸进行调整。

+0

ohhh所以如果我想说这个按钮是在图像的左侧20dp,那么在另一个屏幕大小这个距离可以太短或太长,对吗?我不确定重量/百分比可以用于这种要求。我可以用小dp创建另一个布局,比如说较小的屏幕尺寸 – Snake 2012-03-06 18:04:57

+0

也可以如何调整字体大小? – Snake 2012-03-06 18:05:21

+0

正确。实际上,平板电脑的布局应该与平板电脑完全相同 - 但只是有很多空间可用于右/底/任何。至于字体,我并不确定,但可能需要切实改变。另外,是的,您可以针对不同的屏幕尺寸使用不同的布局。 – jsimpson 2012-03-06 18:35:53

0

在大多数情况下,如果您不制作平板电脑应用程序,则不需要针对不同的密度/尺寸制作多个XML布局。你所要做的就是像你说的那样用DP和SP定义尺寸。

但有必要在可绘制文件夹中提供不同的图像,以便在屏幕尺寸/密度上显示一个或多个功能。

如果您将所有图像放在可绘制文件夹中(不指定hdi,ldi或mdi),Android会尝试调整图像但不总是正常工作。

希望它有帮助。