gpt4 book ai didi

android - 如何在android中将libgdx添加为 subview

转载 作者:IT王子 更新时间:2023-10-28 23:35:14 26 4
gpt4 key购买 nike

我的 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com