У меня есть приложение, которое использует Экспо GestureHandler.DrawerLayout
со стилем ящика "back"
, так что вид лежит на неподвижном ящике и скользит, чтобы показать его. Чтобы подчеркнуть это расположение, я хотел добавить тень к содержимому View
, наложенному на содержимое ящика. Пока что у меня это работает на iOS, но не на Android.
Чтобы изучить это в отрыве от остальной части моего приложения, я разветвил проект response-native-жест-обработчик и изменил пример приложения horizontalDrawer
. Я добавил стиль реквизита для тени здесь:
https://github.com/kmagiera/react-native-gesture-handler/compare/2542bd39503412ef00883e0e799caf7d1f68ef3a...brettdh:shadows-broken-on-android
Как вы можете видеть на этом скриншоте , тень появляется на iOS, но не на Android. Однако, если я удаляю абсолютное позиционирование, комментируя эту строку , я вижу, что тень фактически обрезается слева, как вы можете видеть на этом скриншоте .
Я немного покопался в дереве компонентов и попробовал:
- перемещение теневого упора в обертку
View
- очистка
overflow: hidden
- (хотя теперь я понимаю, что
overflow: visible
работает только на iOS)
Я обнаружил, что обсуждения описывают это как какое-то отношение к абсолютному позиционированию, но даже если это так, я не думаю, что смогу этого избежать, поскольку это часть самого DrawerLayout
. Есть мысли о том, как можно добиться одинакового эффекта тени на iOS и Android?