0
我想繪製一個填充所有Android手機上的整個屏幕的矩形,所有分辨率,所有屏幕密度。一切...... :) 首先從我理解的Canvas中獲得。 drawRect用作像素中的尺寸值。希望這是正確的。 作爲新的Android我想,如果我只是寫這樣就足夠了,因爲在這一刻沒有比1024×1024像素更高分辨率的Android設備:以多種屏幕分辨率填充整個屏幕,密度
ScreenWidth = 1024;
ScreenHeight = 1024;
canvas.drawRect(0,0, ScreenWidth, ScreenHeight, mLoadPaint);
但似乎在某些設備上此矩形不會填滿整個屏幕。什麼是奇怪的,我不能解釋自己是這並不總是發生,但在一個時間點... 無論如何,似乎有代碼有問題,所以我想改變它看起來像這一點,但現在肯定它metrics.widthPixels和metrics.heightPixels將解決我的問題:
wm = (WindowManager) getSystemService(WINDOW_SERVICE);
DisplayMetrics metrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(metrics);
canvas.drawRect(0,0, metrics.widthPixels, metrics.heightPixels, mLoadPaint);
我想知道這是否是正確的,如果這段代碼將覆蓋所有屏幕,和矩形將填補整個屏幕。 當然,使用這種方法時,我還必須注意屏幕方向,因爲當屏幕處於橫向時,它們之間的值似乎會交換。
出於好奇,進入*矩形的是什麼?我相當肯定你的第二個選擇(使用度量)應該可以工作,並且你不應該擔心值被交換,只要你的drawRect方法是在方向改變時會被調用的地方(例如onCreate()) 。 – kcoppock 2011-01-19 19:27:45