<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
- <view class="com.android.gallery3d.ui.GLRootView"
- android:id="@+id/gl_root_view"
- android:background="@null"
- android:layout_width="match_parent"
- android:layout_height="match_parent" />
+ <include layout="@layout/gl_root_group"/>
</FrameLayout>
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
- <com.android.gallery3d.ui.GLRootView
- android:id="@+id/gl_root_view"
+ <include layout="@layout/gl_root_group"
android:layout_weight="1"
android:layout_height="0dp"
android:layout_width="match_parent"/>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2012 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android">
+ <com.android.gallery3d.ui.GLRootView
+ android:id="@+id/gl_root_view"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"/>
+ <View android:id="@+id/gl_root_cover"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@android:color/black"/>
+</merge>
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
- <com.android.gallery3d.ui.GLRootView
- android:id="@+id/gl_root_view"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_alignParentBottom="true"
- android:layout_alignParentLeft="true"
- android:layout_alignParentRight="true"
- android:layout_alignParentTop="true"/>
+ <include layout="@layout/gl_root_group"/>
<FrameLayout android:id="@+id/footer"
android:visibility="gone"
android:layout_alignParentBottom="true"
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;
private long mLastDrawFinishTime;
private boolean mInDownState = false;
+ private boolean mFirstDraw = true;
public GLRootView(Context context) {
this(context, null);
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;