簡體   English   中英

如何檢測Android應用程序是否在屏幕兼容模式下運行?

[英]How to detect if an Android app runs in screen compatibility mode?

我正在構建一個Android庫,以供可能在屏幕兼容模式下運行的其他項目(Android 2.1及更高版本)使用( http://developer.android.com/guide/practices/screen-compat-mode。 html )。

有沒有一種方法可以檢測應用程序(在我的情況下,包括我的庫的應用程序)是否在屏幕兼容模式下運行?

假設我不想在寬度<= 320dp的設備上運行,是否可以將檢查應用程序的寬度是否<= 320dp視為在兼容模式下運行的良好指示? 我真的不喜歡它,正如文檔所說:

注意 :當前,屏幕兼容模式僅模擬320dp寬度的手機屏幕,因此,如果android:compatibleWidthLimitDp的值大於320,則屏幕兼容模式不適用於任何設備。

API 17的可行解決方案:

DisplayMetrics metrics = new DisplayMetrics();
WindowManager manager = (WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE);

Point realSizePoint = new Point();
manager.getRealSize(realSizePoint);

Point scaledSizePoint = new Point();
manager.getSize(scaledSizePoint);

然后比較realSizePointscaledSizePoint坐標。 聽起來似乎很hacky,但我尚未測試過此代碼,但它應該可以完成工作。

暫無
暫無

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

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