我想在其他GUI元素中创建一个具有3D输出的应用程序,尤其是任务栏。在我使用RajawaliActivity(教程1)使用示例后,我没有使用RajawaliFragment做同样的事情。
不幸的是我找不到使用RajawaliFragment和稳定版0.9的例子,还有更多内容吗?
我的RajawaliFragment:
public class MyFragment extends RajawaliFragment {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyRenderer renderer = new MyRenderer(getActivity());
renderer.setSurfaceView(mSurfaceView);
super.setRenderer(renderer);
}
}
渲染器(名称除外)是示例代码的副本,并且与RajawaliActivity一起正常工作。此外,片段确实附加了,但没有调用任何渲染器方法(当然,除了构造函数)。
答案 0 :(得分:0)
我能够使用RajawaliExamples项目中的一个示例片段来工作。
我采取的步骤是:
在我的MainActivity中,我扩展了ActionBarActivity,在我的onCreate()中,我能够将片段添加到我的容器中:
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
ObjectPickingFragment testFragment = new ObjectPickingFragment();
getFragmentManager().beginTransaction()
.add(R.id.container, testFragment, "testFragment")
.commit();
}
}
整个示例应用程序使用Fragments,因此应该给你一些很好的例子。确保你的MyRenderer扩展了RajawaliRenderer。
答案 1 :(得分:0)
我错过的是onCreateView方法。我认为这完全是关于我不需要的加载屏幕,所以我省略了它,但我实际需要做的是:
public class MyFragment extends RajawaliFragment {
public void onCreate(Bundle savedInstanceState) {
// this part was fine
}
public View onCreateView(LayoutInflater i, ViewGroup c, Bundle b) {
return mSurfaceView;
}
}