对于我的应用程序,我希望将 GLSurfaceView 添加到我的 Fragment Activity 内的可滑动片段之一。我的印象是它们就像普通视图一样工作,导致我尝试以下代码。
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,是否还有其他我遗漏的配置?
我的问题:
是否可以在FragmentActivity 内的 Fragment内使用OpenGL ,如果可以,如何将我的 surfaceView 分配给我的 rootView 而不会导致我的应用程序爆炸?
提前致谢。