訪問myView.getWidth()
和getHeight()
總是返回零,我明白這是因爲在視圖佈局之前我打電話給他們太早。如何從活動訪問視圖的維度?
但是我如何從一個活動訪問視圖的大小?我看不到一種方法可以覆蓋,並且文檔不會提示我可以捕捉到的事件。
===================================
感謝唐納。這是我使用的代碼,它工作正常。
LinearLayout root = (LinearLayout)findViewById(R.id.main);
Display d = ((WindowManager) this.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
int screenWidth = d.getWidth();
int screenHeight = d.getHeight();
root.measure(screenWidth, screenHeight);
View myView = findViewById(R.id.myView);
int width = myView.getMeasuredWidth();
這看起來像我需要的,雖然measure()需要父寬度和高度傳遞給它,所以最好的方法來獲得屏幕寬度和高度,然後通過這些measure()來測量視圖層次? – 2011-06-15 13:48:31
@Ollie C很高興你有它的工作 – 2011-06-15 14:10:10