fix: prevent tall images from being clipped in chat bubbles

Use ContentScale.Fit instead of FillWidth and add heightIn(max=360.dp)
constraint so the entire image is always visible. For very tall images
(ratio < 0.75), prioritize height constraints to avoid oversized bubbles.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Kohei 2026-02-18 21:58:01 +09:00
parent 0179eba2ed
commit d18b7c8a24

View file

@ -4,6 +4,7 @@ import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.aspectRatio
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.heightIn
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.widthIn
import androidx.compose.foundation.shape.RoundedCornerShape
@ -61,8 +62,9 @@ fun MessageBubble(
modifier = Modifier
.fillMaxWidth()
.padding(bottom = 8.dp)
.aspectRatio(ratio),
contentScale = ContentScale.FillWidth
.heightIn(max = 360.dp)
.aspectRatio(ratio, matchHeightConstraintsFirst = ratio < 0.75f),
contentScale = ContentScale.Fit
)
}
if (message.content.isNotEmpty()) {