android - React Native DrawerLayout:孩子的阴影出现在iOS上但不在Android上
问题描述
我有一个应用程序使用 Expo 的GestureHandler.DrawerLayout
抽屉"back"
样式,这样视图就位于固定抽屉的顶部并滑下以显示它。为了强调这种安排,我想给内容添加一个阴影View
,投射到抽屉内容上。到目前为止,我在 iOS 上工作,但在 Android 上没有。
为了与我的应用程序的其余部分隔离开来探索这一点,我分叉了react-native-gesture-handler项目并修改了horizontalDrawer
示例应用程序。我在这里为阴影添加了样式道具:
正如您在此屏幕截图中看到的那样,阴影出现在 iOS 上,但不在 Android 上。但是,如果我通过注释掉这一行来删除绝对定位,我会看到阴影实际上被剪裁在左侧,正如您在此屏幕截图中看到的那样。
我已经深入研究了组件树并尝试了:
- 将阴影道具移动到包装器
View
- 清算
overflow: hidden
- (虽然现在我的理解是
overflow: visible
只适用于iOS)
- (虽然现在我的理解是
我发现讨论将此描述为与绝对定位有关,但即使是这种情况,我也不认为我可以避免这种情况,因为它是其DrawerLayout
本身的一部分。关于如何在 iOS 和 Android 上实现相同的阴影效果有什么想法吗?
解决方案
推荐阅读
- javascript - Ember if 组件属性的助手
- numpy - 如何从二进制文件中正确选择想要的数据并丢弃不需要的数据
- android - 当我杀死应用程序时服务结束
- c++ - 绕过 Eigen 静态断言
- java - 如何从依赖于许多其他项目的命令提示符运行 java 代码
- xaml - 如何使用 xamarin 表单中的设备摄像头自动捕获图像
- python - __init__ 中的 Python 类型注解
- amazon-web-services - AWS S3 对象公共 URL 困境
- laravel - 将 SQL 查询转换为 Laravel 查询构建器
- php - 将前一个会话值和后续会话值存储在数组中