From a6ed8a44e6d7240d980edb49706b37e48ccf6d52 Mon Sep 17 00:00:00 2001 From: seven332 Date: Sat, 20 Feb 2016 15:14:15 +0800 Subject: [PATCH] Do not draw GLView when it is out of GLRoot --- app/src/main/java/com/hippo/gl/view/GLView.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/hippo/gl/view/GLView.java b/app/src/main/java/com/hippo/gl/view/GLView.java index b4a6eac03..b911b4ff9 100644 --- a/app/src/main/java/com/hippo/gl/view/GLView.java +++ b/app/src/main/java/com/hippo/gl/view/GLView.java @@ -97,6 +97,7 @@ public class GLView implements TouchOwner { */ private final int[] mPositionInRoot = new int[2]; protected final Rect mPaddings = new Rect(); + private final Rect mTempRect = new Rect(); private GLRoot mRoot; protected GLView mParent; @@ -493,7 +494,8 @@ public class GLView implements TouchOwner { } protected void renderChild(GLCanvas canvas, GLView component) { - if (component.getVisibility() != GLView.VISIBLE + getValidRect(mTempRect); + if ((component.getVisibility() != GLView.VISIBLE || mTempRect.isEmpty()) && component.mAnimation == null) return; int xOffset = component.mBounds.left - mScrollX;