Макет, который увеличивает кнопки для больших экранов? - PullRequest
0 голосов
/ 31 марта 2011

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

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

Существуют ли независимые от разрешения подходы для решения этой проблемы?

Я знаю, что могу использовать «layout_weight» для растягивания компонентов, чтобы я мог указать, какой процент экрана использовать, но это будет очень громоздко для большого количества кнопок (также мои кнопки должны быть квадратными), если у меня есть делать это в основном вручную. Я могу использовать разные файлы макетов для каждого устройства, но это неприятно.

1 Ответ

1 голос
/ 01 апреля 2011

Существуют ли независимые от разрешения подходы для решения этой проблемы?

Используйте размерность и доступные для рисования ресурсы.

Вы не указали, как ваши кнопки "40dipx40dip".

Если они установлены таким образом с помощью определенной высоты и ширины, вместо 40dip в макете или стиле, используйте @dimen/toolbar_btn. Затем в res/values/dimens.xml определите, что должно быть 40dip, а в res/values-large/dimens.xml (или, может быть, res/values-large-land/dimens.xml) определите, что, скажем, 60dip или что-то, что работает для вас.

Если кнопки «40dipx40dip» из-за изображений, то это просто вопрос создания изображений большего размера для планшетов и помещения их, скажем, в каталог ресурсов res/drawable-large-mdpi/.

...