Android - 检测小平板电脑与大手机?

Bos*_*one 5 android tablet screen-size android-screen-support

我正在开发的应用程序包含2个独立的布局:一个用于普通手机,另一个用于小型平板电脑,如NOOKcolor.根据屏幕宽度分辨率(当前600dip)做出的决定.它在Nook看起来很棒但在HTC Rezound上看起来很糟糕,它有一个720 x 1280的显示屏.在后一种情况下,无论分辨率越高,所有内容(文本,图像等)看起来都要大得多,因此它会全部聚集起来.

选择合适设备的好方法是什么?也许检测物理尺寸(4.3"vs 7")vs分辨率?

waq*_*lam 5

使用以下方法检测您设备的屏幕尺寸:

    /**
     * Checks if the screen size is equal or above given length
     * @param activity activity screen
     * @param screen_size diagonal size of screen, for example 7.0 inches
     * @return True if its equal or above, else false
     */
    public static boolean checkScreenSize(Activity activity, double screen_size)
    {
        Display display = activity.getWindowManager().getDefaultDisplay();
        DisplayMetrics displayMetrics = new DisplayMetrics();
        display.getMetrics(displayMetrics);

        int width = displayMetrics.widthPixels / displayMetrics.densityDpi;
        int height = displayMetrics.heightPixels / displayMetrics.densityDpi;

        double screenDiagonal = Math.sqrt( width * width + height * height );
        return (screenDiagonal >= screen_size );
    }
Run Code Online (Sandbox Code Playgroud)