-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Support removing spacing between paragraphs #3866
Support removing spacing between paragraphs #3866
Comments
Thanks for Issue. We will discuss it in our team. |
## Proposed Changes - Set `ParagraphStyle.heightMode` based on `LineHeightStyle.Trim` value - Align default behavior with Android - Avoid using `StrutStyle` - it doesn't allow the line height trimming. Set `height` via `TextStyle` instead - Cache and post-process `lineMetrics` - Port tests from an Android source set ## Behaviour change In case of larger `lineHeight`, both paddings are trimmed by default to match the Android behaviour. ## Testing Test: run tests from `DesktopParagraphIntegrationLineHeightStyleTest` ```kt Row(horizontalArrangement = Arrangement.spacedBy(5.dp)) { for (lineHeightStyle in listOf( null, LineHeightStyle(LineHeightStyle.Alignment.Proportional, LineHeightStyle.Trim.Both), LineHeightStyle(LineHeightStyle.Alignment.Proportional, LineHeightStyle.Trim.FirstLineTop), LineHeightStyle(LineHeightStyle.Alignment.Proportional, LineHeightStyle.Trim.LastLineBottom), LineHeightStyle(LineHeightStyle.Alignment.Proportional, LineHeightStyle.Trim.None), )) { Text("Line 1\nLine 2", modifier = Modifier.background(Color.Gray), style = TextStyle( fontSize = 18.sp, lineHeight = 50.sp, lineHeightStyle = lineHeightStyle ) ) } } ``` Before | After --- | --- <img width="285" alt="Screenshot 2023-11-08 at 13 38 08" src="https://github.com/JetBrains/compose-multiplatform-core/assets/1836384/2c7fbddc-dac9-408e-ad53-cedc361fe777"> | <img width="285" alt="Screenshot 2023-11-08 at 13 37 45" src="https://github.com/JetBrains/compose-multiplatform-core/assets/1836384/4fe4d7c9-a414-4338-885f-6701e6daecf1"> ## Issues Fixed Fixes (partially) JetBrains/compose-multiplatform#2602 Fixes JetBrains/compose-multiplatform#3866
## Proposed Changes - Set `ParagraphStyle.heightMode` based on `LineHeightStyle.Trim` value - Align default behavior with Android - Avoid using `StrutStyle` - it doesn't allow the line height trimming. Set `height` via `TextStyle` instead - Cache and post-process `lineMetrics` - Port tests from an Android source set ## Behaviour change In case of larger `lineHeight`, both paddings are trimmed by default to match the Android behaviour. ## Testing Test: run tests from `DesktopParagraphIntegrationLineHeightStyleTest` ```kt Row(horizontalArrangement = Arrangement.spacedBy(5.dp)) { for (lineHeightStyle in listOf( null, LineHeightStyle(LineHeightStyle.Alignment.Proportional, LineHeightStyle.Trim.Both), LineHeightStyle(LineHeightStyle.Alignment.Proportional, LineHeightStyle.Trim.FirstLineTop), LineHeightStyle(LineHeightStyle.Alignment.Proportional, LineHeightStyle.Trim.LastLineBottom), LineHeightStyle(LineHeightStyle.Alignment.Proportional, LineHeightStyle.Trim.None), )) { Text("Line 1\nLine 2", modifier = Modifier.background(Color.Gray), style = TextStyle( fontSize = 18.sp, lineHeight = 50.sp, lineHeightStyle = lineHeightStyle ) ) } } ``` Before | After --- | --- <img width="285" alt="Screenshot 2023-11-08 at 13 38 08" src="https://github.com/JetBrains/compose-multiplatform-core/assets/1836384/2c7fbddc-dac9-408e-ad53-cedc361fe777"> | <img width="285" alt="Screenshot 2023-11-08 at 13 37 45" src="https://github.com/JetBrains/compose-multiplatform-core/assets/1836384/4fe4d7c9-a414-4338-885f-6701e6daecf1"> ## Issues Fixed Fixes (partially) JetBrains/compose-multiplatform#2602 Fixes JetBrains/compose-multiplatform#3866
Hi, does it work on AnnotatedString? I tried with this but there is still margin after every paragraph. |
In Jetpack Compose, LineHeightStyle can be specified as an option to ParagraphStyle to remove additional spaces between paragraphs. According to the documentation:
https://developer.android.com/reference/kotlin/androidx/compose/ui/text/style/LineHeightStyle
In Compose Desktop, setting LineHeightStyle has no effect, and there is no
includeFontPadding
in thePlatformParagraphStyle
class.This is one of the blockers of implementing a soft-wrap-enabled code editor with line numbers.
The text was updated successfully, but these errors were encountered: