При указании размера кнопок и панелей инструментов я использовал функцию «погружение в пиксели, не зависящее от устройства», в файлах макета XML. Используя провалы, я могу указать физический размер компонентов GUI, что хорошо для обеспечения того, чтобы компоненты всегда были читаемыми и активными для любого размера экрана. Например, мое приложение имеет горизонтальную панель инструментов, которая имеет высоту около 50 dip в верхней части и несколько кнопок 40 dipx 40 dip вдоль нее.
Однако кнопки, физический размер которых достаточно велик, чтобы их можно было увидеть и щелкнуть на маленьком экране, не очень удобны для планшетов. Например, моя панель инструментов будет содержать огромное количество пробелов, кнопки плохо различимы (поскольку вы склонны держать планшет подальше от лица), а кнопки трудно нажимать на практике (так как они мало пропорциональны экран)
Существуют ли независимые от разрешения подходы для решения этой проблемы?
Я знаю, что могу использовать «layout_weight» для растягивания компонентов, чтобы я мог указать, какой процент экрана использовать, но это будет очень громоздко для большого количества кнопок (также мои кнопки должны быть квадратными), если у меня есть делать это в основном вручную. Я могу использовать разные файлы макетов для каждого устройства, но это неприятно.