3

GLSurfaceViewでOpenGLを使用するアプリケーションがあります。問題は、初期ロードにテクスチャの処理と準備にかなりの時間がかかることです。

私がやりたいのは、GLSurfaceViewの準備中に、単純なPNGを(わずかなアニメーションで)表示することです。レンダリングの準備ができたら、スプラッシュ画面を破棄したいと思います。

これを行う正しい方法は何ですか?ViewFlipper、ViewSwitcherなど、R.layout.mainビューとGLSurfaceViewを切り替えるためにさまざまなことを試しましたが、うまくいかないようです。

何か案は?

4

2 に答える 2

4

ステップ1:レイアウトXMLに参加GLSurfaceViewするandroid:visibility="invisible"

ステップ2:それGLSurfaceViewFrameLayout

ステップ3:ImageView同じの別の子としてを追加するFrameLayout

ステップ4:GLSurfaceView準備ができたら、を非表示ImageViewにし、を表示しGLSurfaceViewます

于 2010-01-21T19:36:36.317 に答える
3

これが私がこの状況を克服するためにしたことです...

loader.xmlという名前のカスタムレイアウトを作成しました

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/selectLevelID"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/loader"
    android:orientation="vertical" >
</RelativeLayout>

その後、glSurfaceViewのレンダラーを作成するときにこれを使用しました

    public GlRenderer(Context ctx)
            {
loader_dialog = new Dialog(context,android.R.style.Theme_Black_NoTitleBar_Fullscreen);
loader_dialog.setContentView(R.layout.loader);
loader_dialog.show()
//do your initializations....
loader_dialog.dismiss();
}

;

または、すべてのオブジェクト、テクスチャなどをロードした後で呼び出すだけloader_dialog.dismiss();です...

于 2012-02-26T07:44:30.950 に答える