阴影属性
- 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将围绕元素的边框盒投射阴影,无论其内容如何(除非它是 inset)。dropShadow仅在安卓上可用,boxShadow在 iOS 和安卓上均可用。dropShadow不能像boxShadow那样设置为 inset。dropShadow没有像boxShadow那样的spreadDistance参数。
boxShadow 和 dropShadow 通常都比 shadow 属性功能更强大。然而,shadow 属性映射到原生平台级 API,所以如果你只需要一个简单的阴影,推荐使用这些属性。注意只有 shadowColor 在安卓和 iOS 上都有效,所有其他 shadow 属性仅在 iOS 上有效。
属性
boxShadow
请参阅 视图样式属性 获取文档。
dropShadow 安卓
请参阅 视图样式属性 获取文档。
shadowColor
设置投影颜色。
此属性仅在安卓 API 28 及以上版本有效。对于较低安卓 API 的类似功能,请使用 elevation 属性。
| 类型 |
|---|
| 颜色 |
shadowOffset iOS
设置投影偏移量。
| 类型 |
|---|
对象:{width: number,height: number} |
shadowOpacity iOS
设置投影不透明度(乘以颜色的 alpha 分量)。
| 类型 |
|---|
| 数字 |
shadowRadius iOS
设置投影模糊半径。
| 类型 |
|---|
| 数字 |