Comments (9)
@fernandospr You can work around this by setting the scaleType
to centerCrop
or scale(Scale.FILL)
on your request.
This occurs because wrap_content
is evaluated to 1px whereas Glide and Picasso treat it as the height of the parent. I'm working on fixing this behaviour for 0.7.0
.
from coil.
Good catch! I think this is because we force PixelSize
's dimensions to be > 0. Relaxing that limitation to >= 0 should solve the issue, but might cause side-effects. Going to work on this later tonight.
from coil.
Hi @colinrtwhite, I'm using 0.6.1 and using wrap_content
for both width and height doesn't work either. This was my first test of the library and I was surprised it didn't work out of the box, wondering what I did wrong, until I tried using fixed values for width/height.
I'm not sure if this is the expected behavior. If it is, then I suggest you to add a comment about this on the migration guide from libraries such as Glide or Picasso which do work using wrap_content
out of the box and it's possible that ImageViews are using wrap_content
.
Sample using Picasso, Glide, Coil
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
tools:srcCompat="@tools:sample/avatars" />
Picasso
Code
Picasso.with(this).load("https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png").into(imageView)
Result
Glide
Code
Glide.with(this).load("https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png").into(imageView)
Result
Coil
Code
imageView.load("https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png")
Result
from coil.
Unfortunately #29 does not seem to fully solve the issue. On the sample app the ImageView now has a 1:1 aspect ratio instead of the 2:1 the image being loaded has:
from coil.
@Stonos This is because the ImageView is set to scaleType="fitCenter"
, which will "fit" the image to the smallest dimension, which in this case is 1px. This will cause us to end up loading the image at 1x1. Changing to scaleType="centerCrop"
or setting scale(Scale.FILL)
on the request, will load the image in as intended.
I believe this is working as intended, but let me know if this seems unintuitive.
from coil.
You're right, centerCrop
works fine!
The reason I thought fitCenter
would also work is because it works when setting an ImageView's src
via XML:
from coil.
Ah good point. Looks like ImageView
uses the parent's dimensions in that case. I think we could do this in Coil, but need to verify. I'd like to keep the same behaviour between android:src
and load
. Going to re-open this issue to track.
from coil.
I'm playing with a few different View measurement algorithms in the branch colin/view_size_experiment
. I'm going to timebox this and ship the current behaviour in 0.6.1
, though it's possible it might change in future versions.
from coil.
There was a similar problem, I set the layout_width to 0dp, and the picture did not load. Wrap_content solved the problem :)
from coil.
Related Issues (20)
- Not able to find ImageRequest in coil3 for multiplatform project HOT 1
- New field in ImageRequest.Builder to be able to recompose HOT 2
- When targeting Android for a KMP project using Coil 3.0.0-alpha06, attempting to use `.toBitmap()` and `.asComposeImageBitmap()` results in `Unresolved reference` HOT 6
- Duplicate class androidx.lifecycle.ViewModel in coil 2.2.0 HOT 3
- SVG is blurry when rendered using rememberAsyncImagePainter but not when using AsyncImage HOT 3
- [Coil 3] make crossfade support using different scale type for placeholder vs final image HOT 3
- java.lang.IllegalArgumentException: Software rendering doesn't support hardware bitmaps HOT 1
- How to specify the width of an image? HOT 2
- Coil 3 + GIF w/o delay + Xiaomi Android 14 = GIF isn't playing HOT 5
- Gif playback can not be stopped since coil 3.x HOT 1
- Unsupported type: ImageBitmap HOT 1
- Gif playback is interrupted until next draw phase HOT 5
- coil3 loading long image will be crash HOT 3
- Issue Describetion
- coil-kt/coil HOT 1
- executeBlocking call from main thread Bug HOT 4
- Api
- Execute image request on spot from compose resources HOT 2
- GIF loading only first frame HOT 6
- Add support for HEIC images in Compose Multiplatform HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from coil.