Android不尊重xml中的android:layout_height

时间:2013-05-12 02:40:59

标签: android-layout

我正在创建一个扩展View的客户视图,并将此视图包含在布局xml文件中。但是看起来系统不符合我在布局xml文件中定义的高度。 (视图放在relativeLayout中)

xml文件如下所示:

<com.example.viewtest.MyView
android:layout_width="match_parent"
android:layout_height="140dp"
/>

然而,在手机上运行应用程序后,此视图的高度值始终较大。我搜索了Android开发指南,我知道该系统并不总是遵循定义的维度。

然而,我现在感到困惑的是,视图中的总绘图小于140高度,当我调试代码时,我发现getHeight()和getMeasuredHeight()都返回更大的值,这在我的例如,是195。

我在stackoverflow和谷歌搜索但我没有得到任何关于此的线索?有人可以帮我这个吗?我非常感激!

谢谢, 钱

1 个答案:

答案 0 :(得分:1)

140dp的layout_height并不完全是140. dp是与密度无关的像素,因此它会根据设备的密度进行调整。因此,高端设备上的140dp将为280像素。在您的情况下,您的设备密度为195 / 140~1.4。所以你不能总是期望得到140像素的高度。

话虽如此,你可以强制它们在像素方面保持相同的高度,但我建议不要这样做。这在不同设备上看起来很奇怪。

希望这能澄清事情。