Макет Android: квадратичные представления

В приложении Android мне нужно добавить представление к моему RelativeLayout, которое подчиняется следующим правилам:

  1. Представление должно быть квадратичным, то есть высота и ширина представления должны совпадать.
  2. Вид должен занимать всю ШИРИНУ.

Он должен выглядеть так (квадрат должен быть отцентрован по вертикали):

+-------------+
|  activity   |
|             |
|+-----------+|
||           ||
||  square   ||
||           ||
||           ||
|+-----------+|
|             |
|             |
+-------------+

В конце концов, я хочу иметь ImageView, который отображает квадратное изображение. В настоящее время я сделал это, установив для ширины и высоты представления значение FILL_PARENT, и позволил ImageView правильно нарисовать изображение (используя scaleType = centerInside).

Но: Теперь я хочу иметь дополнительный вид, который выровнен по верхнему краю линия квадратного вида, и здесь мой подход терпит неудачу. Если я теперь установлю ширину представления FILL_PARENT и высоту WRAP_CONTENT, изображение больше не будет соответствовать всей ширине.

У вас есть решение этой проблемы? Было бы предпочтительнее, если бы это можно было сделать, просто написав XML, если это возможно.

Заранее спасибо!

7
задан mreichelt 16 March 2011 в 16:33
поделиться