簡體   English   中英

android-獲取以編程方式創建的視圖的估計高度

[英]android - get estimated height of a programmatically created view

在其中添加所有視圖后(即何時真正可以測量),如何以編程方式創建RelativeLayout的 高度 我以編程方式創建了應該是該RL子級按鈕的Button,設置其邊距和對齊方式,並將其添加到RL中,以便可以測量RL的高度。 普通的rl.getHeight()返回0。我使用了以下代碼:

rl.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED); 
int rlHeight=rl.getMeasuredHeight();

在Nexus 5(API 23)上一切正常,但是在另一台使用API​​ 17的設備上(我記得是4.2或其他),它會拋出NPE。 該怎么辦?

PS OnGlobalLayoutListener和OnPreDrawListener不好,因為在調用setParams(...)並將RL添加到外部布局之前,需要測量高度。

您可以使用GlobalLayoutListener或OnPreDrawListener在運行時以編程方式查找視圖高度。 請參考此答案以獲取示例: https : //stackoverflow.com/a/6569243/4898635

但是,一定要在身高升高后移開監聽器,否則它將被連續調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM