Я рассчитываю абсолютные пиксели и независимые от устройства пиксели, используя следующий код.
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 .
Можете ли вы помочь в этом?
Спасибо