Reputation: 3293
I have this animation/code where a tap on the photo enlarges it to the full screen while the rest of the screen turns black. When I use this banana stock photo the size turns out large enough. However, when I pull images from the web using an API the images turn out very small
I tried checking the size of the image and it does not seem to be naturally that small. The water bottle image is actually h:89 and w:273 pixels when downloaded from the source.
//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"
/>
Upvotes: 3
Views: 4010
Reputation: 6663
Just try to add android:adjustViewBounds="true"
attribute to your 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" />
More info : ImageView
Upvotes: 2
Reputation: 94
If the emulator/device size is too big it might be natural for the image to look small. Even though, I can see that you're adding the image statically from the XML with android:src="@drawable/bananas1"
, and not dynamically from the code. If you want to download an image from the internet and add it what you can do is call your ImageView of your layout from your code and then get the image you want to add from the URL you have
ImageView mImage = (ImageView) findViewById(R.id.ivFullImage);
//get the image from the url using the library you have, convert to bitmap
mImage.setImageBitmap(yourImageInBitmap);
Also, in your XML, you need to define the width and height of your ImageView to adjust to the dimensions of the image you're going to insert by saying
android:layout_width="wrap_content"
android:layout_height="wrap_content"
Upvotes: 0