Непоследовательное масштабирование изображения на Android для Android: scaleType = "fitCenter" - PullRequest
5 голосов
/ 29 января 2012

Я хотел бы отобразить изображение с рамкой.Приведенное ниже решение отлично работает для некоторых изображений, но не для других.

Пока что я думаю, что он отлично работает для небольших изображений, но не для больших.

При уменьшенном изображении решение отображает изображение с рамкой в ​​2 пикселя.При большом изображении фон имеет слишком широкую высоту.

Я проверял это на изображении, которое я масштабировал вручную, скажем, с 2000 * 400 до 200 * 40. Таким образом, это было то же изображение, только предварительно масштабированное.1007 *

Есть идеи, почему большие картинки не будут масштабироваться так же, как маленькие?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:background="#ffffff"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical"
              android:gravity="center" >

    <ImageView
            android:id="@+id/testimage"
            android:background="#000000"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/testimage2"
            android:padding="2dip"
            android:scaleType="fitCenter"
            />
</LinearLayout>

1 Ответ

5 голосов
/ 29 января 2012

Удалите тип масштаба и используйте android: AdjustViewBounds = "true" для вашего ImageView.

...