Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compose Image is ignoring size modifier #638

Open
8 tasks done
Nek-12 opened this issue Oct 16, 2023 · 1 comment
Open
8 tasks done

Compose Image is ignoring size modifier #638

Nek-12 opened this issue Oct 16, 2023 · 1 comment

Comments

@Nek-12
Copy link

Nek-12 commented Oct 16, 2023

About this issue

For the following composable

RIcon
@Composable
fun RIcon(
    icon: IIcon,
    modifier: Modifier = Modifier,
    size: Dp = Size.icon,
    color: Color = Color.Unspecified,
    respectFontBounds: Boolean = false, // needed to align some icons correctly
) {
    Image(
        asset = icon,
        modifier = modifier.requiredSizeIn(maxWidth = size, maxHeight = size),
        alignment = Alignment.Center,
        contentScale = ContentScale.Fit,
        iconicsConfig = IconicsConfig(
            respectFontBounds = respectFontBounds,
            iconBrush = SolidColor(color.takeOrElse { LocalContentColor.current }),
            paddingDp = 1,
        ),
    )
}

When using sizeIn(maxWidth, maxHeight), the modifier is ignored and icons spill outside of the composable bounds.requiredSizeIn fixes the issue but breaks animations & other Material widgets that want to resize the icon composable.
We need a proper solution for sizing icons without using requiredSize.

Why is this and how can this be fixed?
Using respectFontBounds = true is not possible because that breaks alignment of icons in the container.

Details

  •  Used library version 5.5.0-compose01
  •  Other used libraries, potential conflicting libraries - compose-material-3 v1.2.0-alpha09, compose 1.6.0-alpha07

Checklist

@mikepenz
Copy link
Owner

Thank you very much for the report
Unfortunately, I currently don't have the capacity to look into this, I'd be more than happy to review a PR for it though

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants