Недавно я начал создавать программу для компании, в которой я работаю. Так же, как информация о предыстории, я все еще ученик и начинающий программист, поэтому мое решение, вероятно, не рекомендуется, и я не знал, как это сделать в противном случае, но он работает, и я не буду судить о нем, потому что это студенческая работа, совершенно не связанная с программированием.
Дело в том, что программа будет работать на нескольких компьютерах разных размеров и разрешений (800x600 и выше). Чтобы убедиться, что требуется как можно больше экрана без потери какой-либо части программы, я устанавливаю макет нулевым и жестко закодированным, используя относительные значения.
Программа является киоск-стилем, и я сначала получаю значения размера экрана и оттуда (например, от верхней части головы, в левом меню занимает восьмое место экрана, верхняя панель - 2% и т.д.). Я также использую метрики шрифтов, чтобы убедиться, что компоненты правильно отсортированы и что все отображается хорошо.
Мой вопрос: почему он так нахмурился, чтобы сделать макет null вместо использования менеджеров макета? (Мне говорили на некоторых форумах, что это ужасный способ делать вещи) Я знаю, как работает менеджер компоновки, и знаю, как использовать разные макеты, но для требований этой программы (несколько разных разрешений, настраиваемых форм кнопок и мест размещения, изменение текста на компонентах при смене языка и т.д.), я не мог видеть себя с помощью менеджеров компоновки, чтобы сделать все это.
Как вы, более опытные программисты, используете менеджеров макета в такой ситуации? И что вы будете делать, когда хотите, чтобы кнопка была где-то конкретным и другие компоненты где-то в другом месте, которые не соответствуют каким-либо из предопределенных макетов?