Я хочу создать страницу на весь экран, который выглядит следующим образом:Наиболее эффективный способ создать пропорциональные взгляды
---------------------------------------
| -------- --------------------------- |
|| || TextView ||
|| | --------------------------- |
|| Image | ----------------- -------- |
|| View || || ||
|| || TextView || ||
|| || || Image ||
|| || || View ||
| -------- ----------------- | ||
| --------------------------- | ||
|| TextView || ||
| --------------------------- -------- |
---------------------------------------
где каждый ImageView занимает не более 20% от ширины родительского компоновщика.
Основной вопрос: Действительно ... что это лучший способ сделать это? После нескольких часов поиска лучшая идея, которую я могу придумать, состоит в том, чтобы получить ширину экрана и просто установить ширину представлений в размере не более 20% от этого. Однако это интуитивно не похоже на лучшее решение. (Например, если приложение не работает в полноэкранном режиме, это решение не будет работать.) LinearLayout не будет работать с тем, как выкладывается страница (появляется, что я должен использовать RelativeLayout). И я думаю, было бы предпочтительнее установить ширину представлений на основе ширины родительского представления (в отличие от ширины экрана), но я не знаю, как это сделать, потому что в то время, когда я пытаюсь чтобы настроить ширину представлений моих детей, parentView.getWidth() возвращает 0. Есть ли у кого-нибудь хорошие, чистые решения для создания страницы, как показано выше?
Второй вопрос: Кто-нибудь знает, как обернуть текст вокруг изображений, как показано выше? После еще нескольких часов поиска я не смог найти решение для этого; похоже, вам нужно сшить пару текстовых элементов. Есть ли лучший способ, который мне не хватает?
Спасибо за любую информацию, которую любой может предоставить.
Изображения статические или динамические? Можно ли разместить изображения разных размеров на одном и том же месте, и это должно соответствовать им? И тексты? – Maragues
Изображения являются динамическими. Они будут поддерживать их соотношение сторон и могут быть любого размера до макс. 20% от ширины экрана. Изображения всегда будут находиться в одном и том же месте (т. Е. Их верхний левый угол всегда находится в одном и том же месте). Текст также динамичен; он займет оставшееся пространство. Чтобы уточнить, я смог создать этот макет, как я упоминал выше (то есть, установив ImageView.setMaxWidth() на 20% ширины экрана), но опять же, это не сработает, если приложение не работает в полноэкранном режиме. Ищете что-то правильное, менее хакерское, если у кого-то есть что-то. –