Мне нужно, чтобы мое приложение поддерживало все варианты разравнивания и выглядело равным на каждом из них.
Хотя это возможно, это обычно не правильный ответ. То, что хорошо работает на экране размером с телефон, может быть неэффективным на планшете (тратить место). А то, что хорошо работает на телефоне или планшете, обычно не работает на телевизоре.
Ваша цель должна быть максимизировать удобство использования на экранах разных размеров. Возможно, что максимальное удобство и простота использования приведут к тому, что они выглядят одинаково на каждом из них, но это не очень вероятно.
Какой самый простой способ обеспечить это?
На это невозможно ответить абстрактно. Это похоже на вопрос: «Как проще всего рисовать?», Когда мы не знаем, пытаетесь ли вы нарисовать ноготь, портрет, дом или авиалайнер.
Я рекомендую вам прочитать документацию , а затем вернуться к StackOverflow со свежими конкретными вопросами.
Я предпочитаю избегать написания большого количества макетов и стилей, как здесь.
То, что существует множество каталогов , не обязательно означает, что существует множество макетов . Вполне возможно, что большинству макетов этого приложения нужны только 1-2 варианта, но есть пара, которой нужно больше. При этом большинству приложений не нужно почти столько вариантов.
Например, Приложение iosched от Google (расписание конференций Google I | O, карта и т. Д.) Имеет пять наборов ресурсов макета:
layout/
layout-land/
layout-large-land-v11/
layout-large-v11/
layout-v11/
Как обычно, каждый макет находится в каталоге layout/
. layout-land/
и layout-large-land-v11/
имеют только один файл макета. У layout-large-v11/
есть много, по-видимому, чтобы воспользоваться преимуществами встроенной панели действий (-v11
) и большего пространства на экране.