在Android中使用dip / dp支持多屏幕?

时间:2012-10-17 16:21:29

标签: android android-layout android-screen-support multiscreen

假设我在XML文件中将按钮或文本视图宽度定义为100 dip和height为30 dip。至于我所知道的,Android本身负责处理ldpi,mdpi或hdpi设备中的按钮或文本视图外观,因为我在dip中定义了尺寸。如果您想提供多屏支持,这是建议之一。我的问题是 dip 仅用于处理具有相同宽度和高度的ldpi,mdpi或hdpi设备意味着所有320X480或所有400X840都是这样的,或者它是否支持多屏尺寸意味着如果我定义了用于320X480设备的100X30倾角按钮,在清单文件中添加所有屏幕支持后,android系统自动将小部件大小重新计算到200X60倾角到700X1024设备。

如果 dip 不适用于多种屏幕尺寸(如果设备物理尺寸不同),那么我需要为每个无法定义复杂布局的设备编写sepearte布局文件带有一些重量的线性布局,如果我错了,请纠正我。建议我,有没有其他选择。在此先感谢。

1 个答案:

答案 0 :(得分:3)

dip是“密度无关的”,因此这些度量单位与密度有关,而与屏幕大小无关。例如,有10个仍然是mdpi的平板电脑,当然在小型mdpi手机上看起来很好的布局在这些设备上看起来很糟糕。此处的解决方法是使用尺寸值并覆盖它们对于此类情况。现在,您不会在XML中使用10dip,而是使用@dimen/dip_10values/mdpivalues/xlarge-mdpi中的值不同。希望这会有所帮助。