Android Таблетки эмулятора показывают различные значения разрешения при повороте из getDisplayMetrics ()? - PullRequest
0 голосов
/ 18 марта 2020

Я рассчитываю абсолютные пиксели и независимые от устройства пиксели, используя следующий код.

    Display display=activity.getWindowManager().getDefaultDisplay();
    DisplayMetrics outMetrics=new DisplayMetrics();
    display.getMetrics(outMetrics);

    float density=activity.getResources().getDisplayMetrics().density;

    //these are absolute pixels
    int heightPixels = outMetrics.heightPixels;
    int widthPixels = outMetrics.widthPixels;

    //these are device independent pixels
    dpheight = outMetrics.heightPixels/density;
    dpwidth = outMetrics.widthPixels/density;

Но я столкнулся с проблемой. Разрешение правильное как на телефонах, так и на эмуляторах планшета, но когда я поворачиваю планшет, меняется разрешение и количество пикселей. Я знаю, что разрешение инвертируется, когда мы поворачиваем устройство, но количество пикселей меняется, а не инвертируется.

Например:

Если в альбомной ориентации разрешение 1920 * 1080, то при повороте оно должно быть 1080 * 1920 .

Но когда я вращаю планшет, номер разрешения меняется.

Я использую android эмуляторы.

Эта проблема возникает только с планшетами .

Я тестировал таблетки Pixel C, Nexus 9 и Nexus 7 .

Можете ли вы помочь в этом?

Спасибо

This is result when tablet is in portrait mode

This is result when tablet is in landscape mode

...