react-native - React-native-gesture-handler 有问题(找不到符号字符串溢出 = ((ReactViewGroup) view).getOverflow();)
问题描述
我有一个问题react-native-gesture-handler
。每当我将我的项目链接react-native-gesture-handler
到我的项目时,它就会停止工作并显示此错误。但是react-native-gesture-handler
从我的项目中取消链接后,应用程序工作正常。但由于我需要从多个屏幕导航,我需要手势处理程序。
首先,我认为这是react-native
版本的问题,因为我使用react-native
的是 0.57.0 版本,但它也不适用于 0.58.0 和 0.55.4。
package com.swmansion.gesturehandler.react;
import android.os.Build;
import android.view.View;
import android.view.ViewGroup;
import com.facebook.react.uimanager.PointerEvents;
import com.facebook.react.uimanager.ReactPointerEventsView;
import com.facebook.react.views.view.ReactViewGroup;
import com.swmansion.gesturehandler.PointerEventsConfig;
import com.swmansion.gesturehandler.ViewConfigurationHelper;
public class RNViewConfigurationHelper implements ViewConfigurationHelper {
@Override
public PointerEventsConfig getPointerEventsConfigForView(View view) {
PointerEvents pointerEvents;
pointerEvents = view instanceof ReactPointerEventsView ?
((ReactPointerEventsView) view).getPointerEvents() :
PointerEvents.AUTO;
// Views that are disabled should never be the target of pointer events. However, their children
// can be because some views (SwipeRefreshLayout) use enabled but still have children that can
// be valid targets.
if (!view.isEnabled()) {
if (pointerEvents == PointerEvents.AUTO) {
return PointerEventsConfig.BOX_NONE;
} else if (pointerEvents == PointerEvents.BOX_ONLY) {
return PointerEventsConfig.NONE;
}
}
switch (pointerEvents) {
case BOX_ONLY: return PointerEventsConfig.BOX_ONLY;
case BOX_NONE: return PointerEventsConfig.BOX_NONE;
case NONE: return PointerEventsConfig.NONE;
}
return PointerEventsConfig.AUTO;
}
@Override
public View getChildInDrawingOrderAtIndex(ViewGroup parent, int index) {
if (parent instanceof ReactViewGroup) {
return parent.getChildAt(((ReactViewGroup) parent).getZIndexMappedChildIndex(index));
}
return parent.getChildAt(index);
}
@Override
public boolean isViewClippingChildren(ViewGroup view) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2 && !view.getClipChildren()) {
if (view instanceof ReactViewGroup) {
String overflow = ((ReactViewGroup) view).getOverflow();
return "hidden".equals(overflow);
}
return false;
}
return true;
}
}
解决方案
您可以尝试手动链接。
还要检查这个问题: https ://github.com/kmagiera/react-native-gesture-handler/issues/205
推荐阅读
- python-3.x - 通过分隔多个字符串 ID 对所有 ID 组合进行分组
- javascript - Webpack 重新捆绑动态导入
- react-native - 获取调用的空响应数据
- c++ - 套接字 - 使用 select 超时
- mysql - 使用 MySQL 作为数据源时 Google Data Studio 中的错误
- operating-system - 从列表 FreeRTOS 定期调度任务
- oracle - 如何在 Oracle SQL 开发人员中查看/执行授予的存储过程
- scala - 访问 Mock 类的受保护变量
- cncontact - 无法将自定义对象数组保存到 Swift 4 中的 UserDefault
- python - Python字符串拆分,处理单引号