Skip to content

Apply aspectRatio to AsyncImage placeholder#321

Merged
marcprux merged 1 commit intoskiptools:mainfrom
dfabulich:async-image-placeholder-aspect-ratio
Feb 6, 2026
Merged

Apply aspectRatio to AsyncImage placeholder#321
marcprux merged 1 commit intoskiptools:mainfrom
dfabulich:async-image-placeholder-aspect-ratio

Conversation

@dfabulich
Copy link
Contributor

@dfabulich dfabulich commented Jan 25, 2026

Fixes #320 reproduced in skiptools/skipapp-showcase#59

The layout still doesn't perfectly match iOS, and I guess that's a separate bug, but this PR is definitely fixing something, for now.

Specifically, I'm unclear why the layout is so different between the "No URL" and the "Failed URL" case. I think the answer is that coil3.compose.SubcomposeAsyncImage is doing some layout trickery of its own.

iOS

Simulator Screenshot - iPhone 17 Pro - 2026-01-25 at 13 28 30 image

Android on skip-ui 1.47.0

Screenshot_20260125_132412

After applying #321

image

Skip Pull Request Checklist:

  • REQUIRED: I have signed the Contributor Agreement
  • REQUIRED: I have tested my change locally with swift test
  • OPTIONAL: I have tested my change on an iOS simulator or device
  • OPTIONAL: I have tested my change on an Android emulator or device
  • REQUIRED: I have checked whether this change requires a corresponding update in the Skip Fuse UI repository (link related PR if applicable)
  • OPTIONAL: I have added an example of any UI changes in the Showcase sample app

@cla-bot cla-bot bot added the cla-signed label Jan 25, 2026
@dfabulich dfabulich force-pushed the async-image-placeholder-aspect-ratio branch from a1dd385 to 21c05c1 Compare January 25, 2026 21:49
@dfabulich dfabulich marked this pull request as ready for review January 25, 2026 21:51
@marcprux marcprux merged commit 36c0c96 into skiptools:main Feb 6, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

.aspectRatio doesn't apply to AsyncImage placeholder

2 participants