Как предотвратить масштабирование в Android Imageview?
У меня есть изображение размером 480 пикселей на 40 пикселей. Я хотел бы показать это изображение в ImageView без его масштабирования.
Пример: если мой экран имеет ширину всего 320 пикселей, мне хотелось бы, чтобы на экране отображалось всего 320 пикселей изображения, а не вставлялось в ImageView (даже если это означает, что остальная часть изображения отключается).
Есть ли способ предотвратить его масштабирование до соответствия?
EDIT: Кроме того, я хотел бы, чтобы левая часть изображения совпала с левой стороной экрана устройства.
Спасибо
Ответы
Ответ 1
Используйте ScaleType.CENTER
, как это в XML:
android:scaleType="center"
Это будет "центрировать изображение в представлении, но не масштабировать"
Подробнее здесь: http://developer.android.com/reference/android/widget/ImageView.ScaleType.html
(Это, кстати, первый удар по поисковой шкале "imageview scale" )
Ответ 2
Используйте тип масштабирования MATRIX, чтобы установить его без масштабирования и без центрирования
Он будет использовать идентификационную матрицу, если вы не установите ее с помощью setImageMatrix (matrix);
android:scaleType="matrix"
Или в Java:
view.setScaleType(ImageView.ScaleType.MATRIX);
Ответ 3
Попробуйте следующее:
android:adjustViewBounds="true"
android:scaleType="centerCrop"
Ответ 4
У меня была аналогичная проблема, когда у меня была фиксированная размерная графика, которую я хотел масштабировать на экране, но оставался в пропорции 480 х 200.
Я использовал Fill_parent на высоте, чтобы масштабировать и wrap_content по ширине.
Также как выровнять родительский левый и выровнять родительский верх.
В вашем случае вы можете просто использовать wrap_content для обоих, а также для Align Parent Left.
Затем я tweeked ширину с помощью Right Margin 180dp на обычных экранах, чтобы убедиться, что она поддерживает ширину.
<ImageView
android:id="@+id/imageLayer"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginRight="180dp"
tools:ignore="ContentDescription" />