react-native
react-native copied to clipboard
Add percentages for border-radius props
Summary: Why? Previously we didn't support using percentages like:
style={{
width=100,
height=100,
borderRadius='100%',
}}
These percentages refer to the corresponding dimension of the border box.
What?
- Added LengthPercentage class and LengthPercentageType enum. To track when we are dealing with percentage vs points
- Now radius properties start as Dynamic which then get transformed into LengthPercentage.
- Modified certain function parameters so we can consider height and width when resolving BorderRadius values
With this we conditionally calculate the corresponding point (dp) value for a given percentage (considering size). Ex:
result = {raw_percentage_value} / 100 * (max(height, width))
We know the maximum border radius for our current implementation is half the dp of the shorter side of our view, hence why we consider half our maximum view side as equivalent to 100%.
Note: We still don't support vertical/horizontal border radii
Changelog:
[Android][Added] - Added support for using percentages when defining border radius related properties.
Differential Revision: D56943825
This pull request was exported from Phabricator. Differential Revision: D56943825
| Platform | Engine | Arch | Size (bytes) | Diff |
|---|---|---|---|---|
| android | hermes | arm64-v8a | 19,511,392 | -7 |
| android | hermes | armeabi-v7a | n/a | -- |
| android | hermes | x86 | n/a | -- |
| android | hermes | x86_64 | n/a | -- |
| android | jsc | arm64-v8a | 22,883,950 | -3 |
| android | jsc | armeabi-v7a | n/a | -- |
| android | jsc | x86 | n/a | -- |
| android | jsc | x86_64 | n/a | -- |
Base commit: 1d2221ab4ed0a9d669c95dc6a7a82c841f72422c Branch: main
This pull request has been merged in facebook/react-native@181ed33ab0ae3a67c5bcb73de315fb6d5e697388.
This pull request was successfully merged by @jorge-cab in 181ed33ab0ae3a67c5bcb73de315fb6d5e697388.
When will my fix make it into a release? | How to file a pick request?