2016-07-20 3 views
3

У меня есть this animation/code, где крана на фотографии увеличивает его до полного экрана, а остальная часть экрана становится черной. Когда я использую this banana Сток-фото размер получается достаточно большим. enter image description here Однако, когда я выворачиваю изображения из Интернета с помощью API, изображения получаются очень маленькими. enter image description here Я пробовал проверять размер изображения, и, похоже, это не так естественно. water bottle image на самом деле h: 89 и w: 273 пикселя при загрузке из источника.Изображение в ImageView появляется меньше, чем ожидалось (Android)

//pulling the image and finding its sizes 
Glide.with(getContext()).load(currentFood.getImageUrl()).into(ivFullScreen); 
    int ih=ivFullImage.getMeasuredHeight();//height of imageView = 1440 
    int iw=ivFullImage.getMeasuredWidth();//width of imageView = 2464 
    int iH=ivFullImage.getDrawable().getIntrinsicHeight();//original height of underlying image = 3332 
    int iW=ivFullImage.getDrawable().getIntrinsicWidth();//original width of underlying image = 4442 
    Toast.makeText(getContext(), "view height: " + ih + " view width: " + iw + " image height: " + iH + " image width: " + iW, Toast.LENGTH_LONG).show(); 
The Toast showed that the `ivFullImage` size is h:1440 and w:2464 and the image's size is h:3332 and w:4442. 

XML:

<LinearLayout android:id="@+id/llFullScreen" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#000" 
    android:alpha="0.0"> 
</LinearLayout> 
<ImageView android:id="@+id/ivFullImage" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:src="@drawable/bananas1" 
    android:scaleType="centerInside" 
    android:visibility="invisible" 
    /> 
+1

Какое разрешение этого телефона/эмулятора? если это 1920x1080 или аналогичное изображение, похоже, находится в правильном размере ... – Salem

+0

На самом деле я попробовал ваш «ImageView» с бутылкой и отлично работал. Можете ли вы попытаться добавить 'android: adjustViewBounds =" true "и' android: scaleType = "fitXY" 'в ваш' ImageView' –

+0

@Salem Я запускаю Samsung Galaxy S7 (1440 x 2560 пикселей) – stumped

ответ

1

Просто попробуйте добавить android:adjustViewBounds="true" атрибут к вашему ImageView:

<ImageView android:id="@+id/ivFullImage" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:src="@drawable/bananas1" 
    android:scaleType="centerInside" 
    android:adjustViewBounds="true" /> 

Дополнительная информация: ImageView

+0

Он по-прежнему выглядит таким же и маленьким – stumped

+0

Работает с выделением scaleType и изменением значения y-значения смещения finalBounds – stumped

+0

@ перегрузил моего друга, я рад исправить вашу проблему –

0

Если размер эмулятор/устройство слишком большой, он может быть естественным изображение выглядеть маленьким. Хотя я вижу, что вы добавляете изображение статически из XML с помощью android:src="@drawable/bananas1", а не динамически из кода. Если вы хотите, чтобы загрузить изображение из Интернета и добавить то, что вы можете сделать, это вызвать ваш ImageView вашего макета из кода, а затем получить изображение, которое вы хотите добавить из URL у вас есть

ImageView mImage = (ImageView) findViewById(R.id.ivFullImage); 
//get the image from the url using the library you have, convert to bitmap 
mImage.setImageBitmap(yourImageInBitmap); 

Кроме того, в вашем XML, вам нужно определить ширину и высоту ImageView, чтобы приспособиться к размерам изображения, которое вы собираетесь вставить, говоря

android:layout_width="wrap_content" 
android:layout_height="wrap_content"