Как различить раскладку для разрешений экрана 480 * 800 и 480 * 854 в Android? - PullRequest
4 голосов
/ 31 марта 2011

В одном из приложений мне нужно убедиться, что компоненты пользовательского интерфейса будут размещены в правильном положении на всех устройствах с разрешением экрана.Я прошел через руководство по поддержке нескольких разрешений экрана на сайте разработчика Android.Исходя из этого, мне, вероятно, придется создавать отдельные файлы макетов для небольших, обычных и больших экранных устройств.Теперь проблема заключается в том, что даже на больших экранах есть разные разрешения, такие как 480 * 800 и 480 * 854. На экране компоненты немного смещены.Я установил верхнее поле равным 100 dip, тогда для 480 * 800 оно отображается правильно, но для 480 * 854 оно немного неуместно.

Может кто-нибудь дать мне знать, как с этим справиться сейчас?

Ответы [ 2 ]

3 голосов
/ 31 марта 2011

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

На мой взгляд, это лучшее решение. Я применил то же решение для моего приложения.

Пример

        DisplayMetrics dm = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(dm);
        height = dm.heightPixels;
        width = dm.widthPixels;

        if (height == 854 || width == 480) 
        {
              // Your view 
        }
        else
        {
              // Your VIew
        }

Вы должны проверить вышеуказанное условие в методе активности onCreate ().

0 голосов
/ 31 марта 2011

Должно быть возможным различать WVGA854 и WVGA800 с помощью:

Рез / вытяжка-ИПЧР длиной / Рез / вытяжка-ИПЧР-notlong /

но я бы определенно рекомендовал вам разработать макеты так, чтобы они были достаточно надежными, чтобы использовать один набор макетов для этих двух экранов. Это будет слишком много работы, чтобы поддерживать / тестировать, потому что вы не можете спроектировать один макет в этом случае.

...