谁知道如何在Rajawali Surface View上添加用户界面?我检查了rajawali文档,但它不起作用
发布于 2018-07-25 04:36:13
下面的方法对我有效:创建想要添加到布局中的UI元素,我使用ConstraintLayout作为容器。不要使用xml创建SurfaceView,而应以编程方式创建。以这样的方式创建它:它将覆盖所有其他UI元素,并且使用所有可用的空间。这样,UI元素仍然可见,尽管从技术上讲,它们应该被前面的SurfaceView隐藏。
下面是我如何设置SurfaceView的代码。请注意,constraintLayout是容器布局的名称,其中还包含其他按钮。
surfaceView = new SurfaceView(getContext());
surfaceView.setFrameRate(30.0);
surfaceView.setRenderMode(ISurface.RENDERMODE_WHEN_DIRTY);
surfaceView.setSurfaceRenderer(YOUR_RENDERER);
surfaceView.setLayoutParams(new ConstraintLayout.LayoutParams(ConstraintLayout.LayoutParams.MATCH_CONSTRAINT, ConstraintLayout.LayoutParams.MATCH_CONSTRAINT));
surfaceView.setId(View.generateViewId());
constraintLayout.addView(surfaceView, 0);
ConstraintSet constraintSet = new ConstraintSet();
constraintSet.clone(constraintLayout);
constraintSet.connect(surfaceView.getId(), ConstraintSet.LEFT, ConstraintSet.PARENT_ID, ConstraintSet.LEFT);
constraintSet.connect(surfaceView.getId(), ConstraintSet.RIGHT, ConstraintSet.PARENT_ID, ConstraintSet.RIGHT);
constraintSet.connect(surfaceView.getId(), ConstraintSet.BOTTOM, ConstraintSet.PARENT_ID, ConstraintSet.BOTTOM);
constraintSet.connect(surfaceView.getId(), ConstraintSet.TOP, ConstraintSet.PARENT_ID, ConstraintSet.TOP);
constraintSet.applyTo(constraintLayout);https://stackoverflow.com/questions/51489018
复制相似问题