#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. Тогда все ваши поля будут легко сжиматься и расширяться в зависимости от разрешения другого устройства.
Также у вас всегда могут быть три разных набора графики (каждый предназначен для разного разрешения). На мой взгляд, это большая работа.