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