[問題] WindowManager取得的解析度與實機不符

看板AndroidDev作者 ( U U)時間13年前 (2011/07/09 21:52), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
我想取得手機螢幕的解析度 測試的機子為遠傳小精靈Ideos(320*240) 不過得到的數字卻是427*320 我另外用Garmin-Asus A10來測試,則完全正常(480*320) 不知道大家有碰過這樣的問題嗎?... 我的程式碼試過下面四種方式,對於Ideos都會得到427*320,真奇怪 (程式有設置全螢幕了,所以並不會有title的欄位) 方式一: WindowManager windowManager = getWindowManager(); Display display = windowManager.getDefaultDisplay(); int width = display.getWidth(); int height = display.getHeight(); 方式二: WindowManager windowManager = (WindowManager)getSystemService(Context.WINDOW_SERVICE); DisplayMetrics outMetrics = new DisplayMetrics(); windowManager.getDefaultDisplay().getMetrics(outMetrics); int width = outMetrics.widthPixels; int height = outMetrics.heightPixels; 方式三: WindowManager windowManager = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE); int width = windowManager.getDefaultDisplay().getWidth(); int height = windowManager.getDefaultDisplay().getHeight(); 方式四: SurfaceHolder holder = getHolder(); Canvas canvas = holder.lockCanvas(); Rect rect; canvas.getClipBounds(rect); int width = rect.right; int height = rect.bottom; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.217.147.147 ※ 編輯: milonga332 來自: 61.217.147.147 (07/09 22:01)

07/10 10:02, , 1F
應該和 density 有關,參考一下 http://goo.gl/Aunql
07/10 10:02, 1F

07/11 22:58, , 2F
謝啦..ok了!
07/11 22:58, 2F
文章代碼(AID): #1E65q5Ev (AndroidDev)