Merge pull request #133 from slycoder/fix-touch-events

Handle touches when root is a ViewRootImpl
This commit is contained in:
Horcrux
2016-09-01 17:14:48 +08:00
committed by GitHub
@@ -109,13 +109,25 @@ public class RNSVGSvgView extends ViewGroup {
}
private int getAbsoluteLeft(View view) {
int thisLeft = view.getLeft() - view.getScrollX();
if (view.getParent() == view.getRootView() || view.getParent() instanceof ReactRootView) {
return thisLeft;
}
View parent = (View) view.getParent();
return view.getLeft() - view.getScrollX() + (parent instanceof ReactRootView ? 0 : getAbsoluteLeft(parent));
return thisLeft + getAbsoluteLeft(parent);
}
private int getAbsoluteTop(View view) {
int thisTop = view.getTop() - view.getScrollY();
if (view.getParent() == view.getRootView() || view.getParent() instanceof ReactRootView) {
return thisTop;
}
View parent = (View) view.getParent();
return view.getTop() - view.getScrollY() + (parent instanceof ReactRootView ? 0 : getAbsoluteTop(parent));
return thisTop + getAbsoluteTop(parent);
}
private void dispatch(MotionEvent ev, TouchEventType type) {