版本:0.84
阴影属性
- 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 |