我设法创建了一个允许我预览房间的类(由SurfaceView支持),到目前为止一切正常,代码工作。 现在我想知道是否可以在这个Surface上创建按钮(或者更常见的是任何其他对象)。
我尝试使用setContentView(my_layout)加载布局,但这样做不会加载(或至少,不显示)SurfaceView对象。所以我似乎明白,你只能加载其中一个,或者我可能错过了什么?
对不起英文不好,但此文本是由Google翻译生成的。
答案 0 :(得分:1)
您需要做的是创建一个framelayout并添加按钮。 或者使用addContentView构建视图
LayoutInflater inflater = getLayoutInflater();
getWindow().addContentView(inflater.inflate(R.layout.main, null), new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
答案 1 :(得分:0)
您可以创建一个透明背景的布局,并将其放在表面视图上方。
好的是创建一个包含2个元素的FrameLayout
。第一个是您的SurfaceView,其宽度和高度都匹配match_parent,因此它占据整个父FrameLayout
。
第二个是你的布局,透明背景可以占据,例如,父FrameLayout的一部分。
然后,首先创建SurfaceView,在它上方创建带有按钮的透明布局。
这可能适用于某种控制面板或其他什么,但如果你想要一种增强现实,你可以看一下Android的OpenCV SDK,他们确实改变了应用滤镜的相机预览图片等。