版本:0.82
阴影属性
- TypeScript
- JavaScript
参考
React Native 中有 3 套阴影 API:
boxShadow:View 的样式属性,也是与 同名 Web 样式属性 规范一致的实现。dropShadow:作为filterView 样式属性的一部分提供的特定滤镜函数。- 各种
shadow属性(shadowColor、shadowOffset、shadowOpacity、shadowRadius):它们会直接映射到平台级 API 暴露的原生对应项。
dropShadow 和 boxShadow 的区别如下:
dropShadow是filter的一部分,而boxShadow是一个独立的样式属性。dropShadow是一个 alpha 蒙版,因此只有正 alpha 值的像素才会“投射”阴影。boxShadow会围绕元素的边框盒投射阴影,无论其内容是什么(除非它是内阴影)。dropShadow仅可在 Android 上使用,boxShadow可在 iOS 和 Android 上使用。dropShadow不能像boxShadow那样设置为内阴影。dropShadow没有像boxShadow那样的spreadDistance参数。
boxShadow 和 dropShadow 通常比 shadow 属性更强大。不过,shadow 属性映射到原生平台级 API,因此如果你只需要一个简单直接的阴影,推荐使用这些属性。请注意,只有 shadowColor 在 Android 和 iOS 上都可用,其余所有 shadow 属性仅在 iOS 上可用。
属性
boxShadow
请参阅 View Style Props 文档。
dropShadow Android
请参阅 View Style Props 文档。
shadowColor
设置投影颜色。
此属性仅在 Android API 28 及以上版本有效。若要在更低版本的 Android API 上实现类似功能,请使用 elevation 属性。
| 类型 |
|---|
| color |
shadowOffset iOS
设置投影偏移量。
| 类型 |
|---|
object: {width: number,height: number} |
shadowOpacity iOS
设置投影不透明度(会乘以颜色的 alpha 分量)。
| 类型 |
|---|
| number |
shadowRadius iOS
设置投影模糊半径。
| 类型 |
|---|
| number |