2013-05-12 42 views
1

我正在創建一個擴展View的客戶視圖,並將此視圖包含在佈局xml文件中。但是,它看起來像系統不尊重我在佈局xml文件中定義的高度。 (視圖放於RelativeLayout的)Android不尊重xml中的android:layout_height

的xml文件看起來是這樣的:

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

但是經過我在手機上運行應用程序,這種觀點總是給予更大的高度值。我搜索了Android開發指南,我意識到該系統並不總是遵守定義的維度。

但是我現在困惑的是,在視圖中的總繪圖小於140高度,並且當我調試代碼時,我發現getHeight()和getMeasuredHeight()都返回較大的值,在我的例子,是195.

我在stackoverflow和谷歌搜索,但我沒有得到任何有關此線索?有人可以幫助我嗎?我非常感激!

感謝, 錢

回答

1

的140dp的layout_height是不完全會是140 DP是密度獨立像素,因此調節基於設備的密度。因此,高端設備上的140dp將爲280像素。在你的情況下,你的設備密度是195/140〜1.4。所以你不能總是期望得到140像素的高度。

這就是說,你可以強制他們在像素方面是相同的高度,但我會建議反對它。這在不同的設備上看起來很奇怪。

希望澄清一些事情。

+0

非常感謝您的澄清!在這種情況下,我必須在代碼中計算尺寸值。謝謝! – Qianqian 2013-05-14 05:34:20