2012-09-05 38 views

回答

1

嗯,是的,但我不會建議它,你會發現在屏幕的尺寸,然後在你的代碼做數字出尺寸自己算算:

Display display = this.getActivity().getWindowManager().getDefaultDisplay(); 
     int w = display.getWidth(); 
     int h = display.getWidth(); 

否則你可以只按常規方式做:

LinearLayout ll = (findViewById) ... 
int whatever = ll.getWhatever(); 

是否有避免這種方式的具體原因?可能有助於找到解決方案

+0

我想建立一個[自定義佈局比屏幕大](http://stackoverflow.com/questions/12130999/how-to-make-a-dynamic-layout-that-是大於屏幕的),並且還具有變量和_changing_維度,因爲項目正在擴展和摺疊,所以我需要每次重新計算大小。爲了優化,我想在渲染任何項目之前在最開始處找到一些尺寸。當然,我可以延遲這一點,直到第一個項目出現在屏幕上,然後詢問該項目的值,但看起來有點難看。從資源中獲取價值看起來更優雅。 –

+0

據我所知,我很抱歉,在UI線程的負載方面,「傳統」方式是唯一的方式,我認爲它不需要太多,否則您總是可以創建一個新的線程。 –

+0

你的回答並不能解釋這些事情,但總的來說這是正確的,因爲你建議的方法是唯一可能的。這裏是我的解釋:佈局本身不存在具有實際維度的對象,所以我們必須膨脹一個視圖_and_等待視圖被渲染;只有這樣我們才能查詢尺寸。至於獲得屏幕尺寸 - 您的方法會給我們全屏幕尺寸,但有時我們需要可用的視口尺寸;爲此,請考慮使用android.view.View.getWindowVisibleDisplayFrame()。 –