Проблема с размером изображения при загрузке из внешнего хранилища на Android - PullRequest
1 голос
/ 09 марта 2012

Я хочу отобразить изображение из внешнего хранилища размером 72x72 px. Мое устройство имеет высокую плотность. Высота и ширина вида изображения - "wrap_content".

Я получил разные результаты, если я загружаю изображение или использую URL.

Если я использую такой URL-адрес, результат будет около 48x48 пикселей.

            imageView.setImageURI(Uri.fromFile(file)); 

Если я загружу растровое изображение, результат будет 72x72 px, как и ожидалось:

            InputStream is = context.getContentResolver().openInputStream(Uri.fromFile(file)); 
            Bitmap b = BitmapFactory.decodeStream(is, null, null); 
            is.close(); 
            iv2.setImageBitmap(b); 

Вы можете увидеть результаты здесь: screenshot

Было бы лучше, если бы я мог использовать setImageURI, а не для предварительной загрузки изображение, и я хотел бы отображать изображение в appwidgets тоже. Можете ли вы сказать мне, в чем причина разницы и как я могу ее избежать?

Ответы [ 2 ]

1 голос
/ 09 марта 2012

попробуй этим я думаю это сработает либо измените XML-файл в imageview на

android:scaleType="centerCrop"
android:adjustViewBounds="true"

или использовать в коде Java

image.setAdjustViewBounds(true);
image.setScaleType(ScaleType.CENTER_CROP);

либо используйте "centercrop", либо "fitxy", может это тоже работает

0 голосов
/ 09 марта 2012

Если оба изображения имеют разные размеры, и вы не можете изменить размер изображения, вы должны установить в xml ширину и высоту изображения, например, 72dp.Вы не должны использовать px, но dp, потому что иначе он не будет хорошо отображаться на разных телефонах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...