diff options
Diffstat (limited to 'src/com/android/gallery3d')
| -rw-r--r-- | src/com/android/gallery3d/ui/GLRootView.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/com/android/gallery3d/ui/GLRootView.java b/src/com/android/gallery3d/ui/GLRootView.java index f78e6e6bf..99ed8cb42 100644 --- a/src/com/android/gallery3d/ui/GLRootView.java +++ b/src/com/android/gallery3d/ui/GLRootView.java @@ -25,7 +25,9 @@ import android.os.SystemClock; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.SurfaceHolder; +import android.view.View; +import com.android.gallery3d.R; import com.android.gallery3d.anim.CanvasAnimation; import com.android.gallery3d.common.Utils; import com.android.gallery3d.util.GalleryUtils; @@ -104,6 +106,7 @@ public class GLRootView extends GLSurfaceView private long mLastDrawFinishTime; private boolean mInDownState = false; + private boolean mFirstDraw = true; public GLRootView(Context context) { this(context, null); @@ -322,6 +325,20 @@ public class GLRootView extends GLSurfaceView mRenderLock.unlock(); } + // We put a black cover View in front of the SurfaceView and hide it + // after the first draw. This prevents the SurfaceView being transparent + // before the first draw. + if (mFirstDraw) { + mFirstDraw = false; + post(new Runnable() { + public void run() { + View root = getRootView(); + View cover = root.findViewById(R.id.gl_root_cover); + cover.setVisibility(GONE); + } + }); + } + if (DEBUG_PROFILE_SLOW_ONLY) { long t = System.nanoTime(); long durationInMs = (t - mLastDrawFinishTime) / 1000000; |
