как я могу создать приложение blackberry, которое подходит практически для всех устройств

#blackberry #java-me

#ежевика #java-me

Вопрос:

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

я имею в виду, в основном, выравнивание компонентов в устройстве с точки зрения внешнего вида. Существует ли какая-либо стандартная процедура для этого, как в Android

Комментарии:

1. «я имею в виду, в основном, выравнивание компонентов в устройстве с точки зрения внешнего вида». — так что же здесь улучшено? Я не могу разобрать это .. 🙂

2. на одном устройстве выравнивание хорошее, а на каком-то другом оно выровнено неправильно

3. Вероятно, было бы лучше, если бы вы предоставили пример кода со скриншотами проблемы, иначе ответы могут быть слишком расплывчатыми. Если сравнивать с Android, то Android предоставляет изображения с 9 патчами, и они значительно упрощают дело. У BB нет этой функции.

Ответ №1:

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

Приложение имеет три папки:

  • разрешение / hdpi (240x)
  • / res / mdpi (320x)
  • / res / ldpi (480x)

У меня есть базовый класс утилиты, который выглядит примерно так:

 public class DisplayUtils {
    public static float density = DisplayUtils.getDensity();

    private static float getDensity() {
        float dpi = (Display.getHorizontalResolution() * 0.0254f);
        if (dpi <= 135.0f) {
            return 0.75f;
        } else if (dpi <= 200.0f) {
            return 1.0f;
        } else {
            return 1.5f;
        }
    }

    public static int convertPxToDp(int px) {
        return (int) (px * DisplayUtils.density   0.5f);
    }
}
  

Все приложение выравнивает все относительно других элементов, поэтому в целом оно выглядит хорошо. Самая большая проблема в том, что Storm / Torch будет выглядеть немного маленьким из-за того, что считается MDPI вместо HDPI. Это должно, по крайней мере, дать вам хорошее начало.

Ответ №2:

попробуйте установить позиции относительным образом, например :

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

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

Ответ №3:

Я потратил много времени на эту тему. На мой взгляд, лучшая и самая простая идея — «создать» всю вашу графику с помощью BlackBerry graphics API. Тогда все ваши поля будут легко сжиматься и расширяться в зависимости от разрешения другого устройства.

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