2013-10-29 77 views
1

對於我的應用程序,我希望在我的Fragment Activity中添加一個GLSurfaceView到我的可滑動片段之一。我的印象是,他們的工作方式與普通觀點相同,導致我嘗試了下面的代碼。在android.app.Fragment中使用OpenGL

public override View OnCreateView(LayoutInflater inflater, 
            ViewGroup container, 
            Bundle savedInstanceState) 
{ 
    rootView = 
     inflater.Inflate(Resource.Layout.VisualisationFragment, container, false); 

    var fragmentLayout = 
     rootView.FindViewById<RelativeLayout>(Resource.Id.fragmentLayout); 

    surfaceView = new GLSurfaceView(this.Activity.BaseContext); 
    fragmentLayout.AddView(surfaceView); 

    return rootView; 
} 

的代碼編譯好,當我單步執行代碼,直到某個地方返回後rootView,在這一點上,我得到一個「強制關閉」的提示,沒有例外似乎罰款。 GLSurface視圖佔據了大部分屏幕,除了頂部的標題和底部的按鈕。我已經在清單中聲明瞭OpenGL的使用,是否還有其他配置?

我的問題:

是否可以使用OpenGL 片段一個FragmentActivity如果是這樣,我怎麼我的surfaceView分配給我的rootView沒有我申請爆炸?

在此先感謝。

+0

Ouch,談論術語的不幸衝突...... Fragment在OpenGL中有其自己的含義,所以這個問題的一半聽起來像是胡言亂語。 –

+0

我改正了標題,所以你可能會得到一些命中。 – dwerner

回答

0

好吧,所以我早些時候做了這個工作,沒有多大用處,因爲它太過遲緩而無法證明有用。

爲了解決這個問題,渲染器需要WAS,並且需要繼承Java.Lang.Object以及IRenderer以允許您實現Handler屬性。

銷燬和證明太多的處理能力,以保持上雖然面板之間的持續平穩每次刷卡刷卡重現GlSurfaceView,那即使OnSurfaceCreate和OnSurfaceDestroy方法都是空的。

相關問題