Element overflow hidden in React-Native Android

时光毁灭记忆、已成空白 提交于 2019-12-03 11:57:28

In Android you cannot draw outside of the component's boundaries, which is a very annoying thing. I usually do the following as a workaround: Wrap your component in a new <View> that wraps both the former container and the overflowing data. Set the view backgroundColor to 'transparent' so that it is invisible, and the pointerEvents prop to 'box-none', so that events get propagated to children. The dimensions of the view should be those of the former top component plus the overflow (in your case, it is just the height), but I think this should also work with Flexbox nicely in some circumstances.

This is as pretty epic known issue.

Upvote here to bring the issue more attention.

Following up on martinarroyo's answer. Unfortunately he's right, currently there's no real better way, however, react-native 0.41 (not stable yet) promises to add android support for overflow: visible which is great news, because the workaround isn't all that fun...

I had the similar problem and I found this amazing article on medium.com. https://medium.com/entria/solving-view-overflow-in-android-reactnative-f961752a75cd

According to the article, you can use react-native-view'overflow library (a bridging header written to support the overflow in react-native android.

All you need to do is wrap the overflowcomponent in the <ViewOverflow>. Hope this helps!

You can use the react-native-view-overflow native module by Sibelius Seraphini.

Also, it seems this might be supported out of the box by React Native starting with version 0.57 according to this commit.

This is a workaround I've been using since overflow: visible is not working correctly on Android.

https://medium.com/@jaredgoertzen/react-native-android-doesnt-render-overflow-styles-95e69154ebed

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!