Подтвердить что ты не робот

Как предотвратить масштабирование в Android Imageview?

У меня есть изображение размером 480 пикселей на 40 пикселей. Я хотел бы показать это изображение в ImageView без его масштабирования.

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

Есть ли способ предотвратить его масштабирование до соответствия?

EDIT: Кроме того, я хотел бы, чтобы левая часть изображения совпала с левой стороной экрана устройства.

Спасибо

4b9b3361

Ответ 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" />