Почему интерфейс приложения выглядит иначе при просмотре в планшете и эмуляторе, хотя оба имеют одинаковый размер и разрешение - PullRequest
0 голосов
/ 11 июня 2019

Интерфейс моего приложения в планшете отличается от эмулятора.

Разрабатываемое мной приложение предназначено для вкладки Samsung T385 (8 дюймов и 1280х800 - больше). Мы тестировали на Android AVD (без скинов) с разрешением 8 дюймов и 1280х800. Когда мы запускаем приложение на вкладке, макет выглядит горизонтально сжатым по сравнению с макетом при работе в эмуляторе.

Я попытался разместить следующее в AndroidManifest

    <supports-screens
    android:largeScreens="true"
    android:normalScreens="false"
    android:requiresSmallestWidthDp="600"
    android:smallScreens="false"
    android:xlargeScreens="true" />

Мы также попытались добавить папку layout-sw600dp. Но без улучшения.

Я использовал следующий код для проверки конфигурации экрана -

 private void screensize(){
    int screenSize = getResources().getConfiguration().screenLayout &
            Configuration.SCREENLAYOUT_SIZE_MASK;

    String toastMsg;
    switch(screenSize) {
        case Configuration.SCREENLAYOUT_SIZE_LARGE:
            toastMsg = "Large screen";
            break;
        case Configuration.SCREENLAYOUT_SIZE_NORMAL:
            toastMsg = "Normal screen";
            break;
        case Configuration.SCREENLAYOUT_SIZE_SMALL:
            toastMsg = "Small screen";
            break;
        case Configuration.SCREENLAYOUT_SIZE_XLARGE:
            toastMsg = "xLarge screen";
            break;
        default:
            toastMsg = "Screen size is neither large, normal or small";
    }
    Toast.makeText(this, toastMsg, Toast.LENGTH_LONG).show();

}

Мы нашли это на вкладке и обнаружили, что он отображает размер класса отображения как большой. Но эмулятор сообщает как xlarge.

Пожалуйста, дайте мне знать, почему эмулятор с одинаковой конфигурацией должен отображать разные классы отображения. Заранее спасибо.

...