Как различить экраны 480X800 и 480X854 в андроиде?

Как различать экраны 480X800 и 480X854. у нас есть возможность поместить одно изображение в папку hdpi. В моем случае изображение 480X800 не поддерживает изображение 480X854. это показывает пробел внизу. Любая идея?

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

4 ответа

Решение

Вы можете получить разрешение из текущего запущенного процесса, но вы не можете получить точное разрешение. Как я знаю, их невозможно отличить между двумя "большими" дисплеями, лучшее, на что вы можете надеяться, это поддержка любого размера с вашим приложением.

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

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

надеюсь, это помогло!

Вы не должны на самом деле проводить различие между ними; Вы должны приложить максимум усилий, чтобы поддерживать плотность каждого экрана, а не конкретные разрешения экрана. В противном случае вы получите беспорядок, когда появятся устройства с разными разрешениями экрана. Вот почему у нас есть девять патчей изображений!:)

Смотрите также этот вопрос:
В каком разрешении должны быть мои заставки Android?

Если вам абсолютно необходимо провести различие между ними, вы можете использовать long а также notlong классификаторы ресурсов. например, WVGA values-hdpi-notlong и FWVGA это values-hdpi-long,
По-видимому, это не правильно, что является еще одной причиной, чтобы не дифференцировать и создавать общие ресурсы, которые могут обрабатывать небольшие изменения в разрешении.

Создать папку layout-hdpi-854x480

Кристофер прав, вы должны сделать свое приложение гибким, но если вам нужно реальное разрешение экрана, вы можете использовать:

Показать d = ((WindowManager)activity.getSystemService(Context.WINDOW_SERVICE)). GetDefaultDisplay();
int width = d.getWidth();
int height = d.getHeight();

Оттуда вы можете масштабировать или увеличивать / уменьшать по мере необходимости или просто использовать 9patch. Конечно, это зависит от приложения, но вы можете рассмотреть возможность размещения изображения 480x854 в папке res/ и убедиться, что оно выглядит точно на 480x800 только по центру.

Другие вопросы по тегам