【问题标题】:React Native Linear Gradient: Colors washed outReact Native Linear Gradient:颜色褪色
【发布时间】:2020-02-02 13:44:10
【问题描述】:

我正在使用react-native-linear-gradient 包来形成线性渐变。我在 XD 设计中使用颜色选择器选择了完全相同的颜色,以在我的应用程序中形成相同的渐变。这是我的代码:

<LinearGradient start={{x:0,y:0}} end={{x:1,y:1}} style={StyleSheet.absoluteFill} colors={['#D300B5', '#FF5400']} >...

这些十六进制值与设计值相同,但是,与设计比较的结果如下:

颜色明显褪色。我检查了不透明度以确保一切都处于 100%,渐变上没有任何东西,渐变视图没有超出屏幕,XD、我的 Mac 和 iPhone X 都使用 Display P3 颜色空间。

为什么颜色会褪色?

【问题讨论】:

    标签: react-native color-space


    【解决方案1】:

    注意:此解决方案仅适用于 iOS,适用于应用中使用的所有颜色。

    在很久没有找到任何东西后,我自己创建了一个 React Native 补丁,因为问题源于 React Native 如何在RCTConvert.m 的原生代码中自己创建颜色:

    return [UIColor colorWithRed:... green:... blue:...]

    colorWithRed 的两种情况(写作时有两次)切换到colorWithDisplayP3Red 并重建(不要忘记,因为我们正在更改本机代码,热重载不起作用)应用程序正常工作:颜色是现在在 P3 颜色空间中渲染。请注意,这种方法会更改您在应用中创建/使用的所有种颜色,因此每种颜色基本上都会看起来更清晰。

    【讨论】:

      猜你喜欢
      • 2020-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-27
      • 2020-03-10
      • 2012-04-24
      • 1970-01-01
      • 2020-07-23
      相关资源
      最近更新 更多