我有一個ListFragment,它在onActivityCreated()方法中添加了2個視圖 - 一個MapView通用視圖(持久標頭)。我希望ListView以縱向模式顯示在地圖視圖和標題下方,並且在地圖視圖的右側以及橫向模式下的標題下方顯示。我還喜歡MapView的高度(縱向)和寬度(橫向)爲可用窗口大小的百分比(減去操作欄,狀態欄和導航欄 - 如果設備上存在)。爲了實現這一點,我相信我需要獲得窗口大小併爲所有3個視圖計算適當的高度,寬度和佈局邊距。我已經嘗試了類似問題中推薦的幾件事,但解決方案總是返回設備的高度/寬度,而不是活動的窗口大小。如何獲取活動的窗口寬度和高度?
任何想法。提前致謝。
首先感謝大家的答覆。我故意沒有去使用不同的佈局與允許重量屬性ViewGroups的路線。我動態添加視圖的原因是,ListActivity管理我的空和「加載」狀態。用我目前的方法,我所要做的就是告訴ListActivity我的空視圖是什麼,並在有數據時設置列表適配器。這樣,用戶將在列表爲空時看到我的空視圖,並在加載時看到ProgressBar。我的主要問題是如何以編程方式獲取寬度/高度。 – oracleicom
我最終爲視圖添加了一個GlobalLayoutListener以獲取寬度和高度。 – oracleicom