簡體   English   中英

為什么屏幕尺寸看起來比實際更大 android studio

[英]why does the screen size appears bigger than it really is android studio

我很困惑,我被困了好幾天,不知道該怎么做,也搜索了很長時間的答案,但到目前為止一無所獲......

所以無論如何,我正在嘗試從上面的角度創建一個小的 2D 游戲(橫向),一切正常,發現屏幕尺寸只有一個問題。 我試圖獲得屏幕的大小並且它工作得很好問題是即使我得到的大小是正確的大小(在一些設備上檢查過)當我運行應用程序時它看起來屏幕比那個大。 在某些設備上它看起來不錯,但在某些設備上它顯示它們比實際尺寸大。

Y 軸錯誤 X 軸看起來很好,就像它應該的那樣

    Point screenSize=new Point();
    getWindowManager().getDefaultDisplay().getSize(screenSize);
    Display display=getWindowManager().getDefaultDisplay();
    display.getRealSize(screenSize);

這是我用來獲取設備大小的代碼。

請如果您有任何想法可能是什么問題幫助我

我不確定您使用的是哪個 API 版本,但不推薦使用getDefaultDisplay()getRealSize()以支持WindowManager#getCurrentWindowMetrics() 但是,由於應用無法訪問屏幕的某些部分以及在高 DPI 屏幕上縮放,屏幕可能會有插圖。 getRealSize()文檔有這些警告:

返回的大小將屬於以下情況之一:

  1. 設備在顯示器上沒有分區。 返回值是當前系統狀態下應用可訪問的最大顯示區域,與窗口模式無關。
  2. 該設備將單個顯示器划分為多個分區。 應用程序僅限於顯示的一部分。 這在顯示器改變尺寸的設備中很常見,例如可折疊設備或大屏幕。 返回的大小將匹配應用程序受限的顯示部分。
  3. 窗口管理器使用 adb shell wm size 模擬不同的顯示大小。 返回的大小將與模擬的顯示大小相匹配。

返回值不適合在調整和放置 UI 元素時使用,因為它不反映任何這些場景中的應用程序窗口大小。

似乎改用WindowMetrics會好得多。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM