首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android 如何取得 AlertDialog 的高度

     編輯:程式設計綜合問答

AlertDialog 顯示後,其高度會依內容與螢幕解析度動態決定。若要在程式碼中取得對話框實際高度,必須等待版面配置完成後再讀取。

取得方式

  1. 使用 ViewTreeObserver 監聽版面配置完成事件。
  2. 或在 onShow / onStart 之後,透過 getWindow().getDecorView().getHeight() 取得。
  3. 若需計算 ListView 內容總高度,可逐一量測每個 ItemView 的高度並加總。
View itemView = listAdapter.getView(position, null, listView);
itemView.measure(
    MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
    MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
int height = itemView.getMeasuredHeight();

注意:在對話框尚未顯示前直接讀取高度,通常會取得 0,因此請確保在版面繪製完成後再操作。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved