Непоследовательное масштабирование изображений на Android для android:scaleType="fitCenter"

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

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

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

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

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

<?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>
5
задан tzrnee 29 January 2012 в 09:24
поделиться