Макеты Android основаны на соотношении сторон? - PullRequest
0 голосов
/ 07 февраля 2012

Это немного сложно объяснить, поэтому я попробую на примере.

Допустим, у меня есть изображение 3: 2, которое оно должно было бы использовать в одном из моих приложений. Мне бы хотелось, чтобы ширина ImageView соответствовала его родительскому элементу (match_parent), и я хотел бы, чтобы высота масштабировалась в соответствии с соотношением сторон изображения и шириной изображения.

Как это возможно в Android? Мне бы очень хотелось узнать, есть ли лучший способ, чем создавать предопределенные размеры для всех видов различных размеров экрана.

Другим сценарием может быть представление сетки с большим количеством элементов - было бы замечательно, если бы я мог просто сказать Android, сколько элементов должно отображаться в каждой строке и какое соотношение сторон должно быть у этих элементов. Было бы намного проще.

Ответы [ 2 ]

0 голосов
/ 01 марта 2012

Лучшее решение - просто установить layout_width и layout_height, а затем установить android:scaleType на centerCrop.Это далеко от совершенства, но работает нормально, и вы можете получить довольно неплохие результаты, если используете auto_fit с GridView.

0 голосов
/ 07 февраля 2012

А как насчет параметров масштабирования для ImageView? Вероятно, что-то вроде этого:

<ImageView
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:scaleType="whatever you want"
/>
...