react-native如何自定义android高程阴影

时间:2017-02-13 18:20:38

标签: react-native

使用特定于Android的样式规则elevation,使用时会产生令人讨厌的“晕”效果。例如,此图片显示elevation: 20

enter image description here

即使是一个小的高度1,2或3也会给出元素“晕”/有边框(坏)的外观

enter image description here

如何为特定于android的阴影添加更多自定义以消除光环效果。 ios有像shadowOpactiy,shadowRadius,shadowOffset这样的特定规则 - 但我没有看到任何关于android的内容。

1 个答案:

答案 0 :(得分:1)

根据官方文档,不存在阴影不透明或更改默认阴影的任何方法,因为它存在 通过设计,通过“材料设计” 来源:https://developer.android.com/training/material/shadows-clipping

但是您可以做的是使用具有所需边框的带有虚拟视图的组件,然后将其用于渲染功能,例如

render(){
  <View style={{flex:1}}>
    <Viewwithborder>
     //pass the item you want to have custom elevation here
    </Viewwithborder>
  </View>
}

,然后在您的自定义“ viewwithborder”中

   render(){
   <View style={{styles.CustomElevationStyle}}>
      {this.props.children}
   </View> 
}