我的 main.xml 如下:
<RelativeLayout>
...
<FrameLayout
android:id="@+id/panel_sheet"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.libgdx.Sheet3DViewGdx
android:id="@+id/m3D"
android:layout_width="1000dp"
android:layout_height="600dp"
/>
</FrameLayout>
...
</RelativeLayout>
而我的主要 Activity 类如下:
public class Test extends Activity {
MainActivity m3DActivity;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
我的 GDX 类如下,它扩展了 ApplicationListener 类而不是 View。
public class Sheet3DViewGdx implements ApplicationListener{
@Override
public void create() {
InputStream in = Gdx.files.internal("data/obj/Human3DModel.obj").read();
model = ObjLoader.loadObj(in);
}
@Override
public void dispose() {
}
@Override
public void pause() {
}
@Override
public void render() {
Gdx.gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
model.render(GL10.GL_TRIANGLES);
}
@Override
public void resize(int arg0, int arg1) {
float aspectRatio = (float) arg0 / (float) arg1;
}
@Override
public void resume() {
}
}
现在,我应该如何在主布局中添加 Sheet3DViewGdx 作为 subview ?
最佳答案
AndroidApplication 类(扩展 Activity )有一个名为 initializeForView(ApplicationListener, AndroidApplicationConfiguration)
的方法,该方法将返回一个 View
,您可以将其添加到布局中。
因此,您的 Test-class 可以扩展 AndroidApplication 而不是 Activity,以便您可以调用该方法并将 View 添加到您的布局中。
如果由于某种原因这不是一个选项,请查看 AndroidApplication source code确实如此,并模仿它。
关于android - 如何在android中将libgdx添加为 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10894601/