2014-12-01 3 views
0

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

Я видел в некоторых приложениях, таких как Facebook, когда изображение отображается в полноэкранном режиме, оно поддерживает соотношение сторон, которое я предполагаю. Все изображение, независимо от его размера, отображается на экране, но оно не растягивается. Изображение автоматически настраивает его высоту и ширину в зависимости от потребности. Как достичь такой же функциональности?

Как сделать ImageView, который сможет отрегулировать его высоту и ширину (максимум уже заданный) в соответствии с потребностями.

<ImageView 
     android:id="@+id/image" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     android:scaleType="matrix" 
     android:src="@drawable/defaultimage" 
     android:padding="10dp" /> 

ответ

1

В вашем макете нужен другой android:scaleType. В документации ImageView.ScaleType перечислены различные доступные. Похоже, вы, вероятно, захотите изменить matrix на fitCenter в вашем примере.

Смежные вопросы