0

我设法创建了一个允许我预览房间的类(由 SurfaceView 支持),到目前为止一切正常,代码工作。现在我想知道是否可以在此 Surface 上创建按钮(或更一般地说是任何其他对象)。

我尝试使用 setContentView (my_layout) 加载布局,但这样做未加载(或至少未显示)SurfaceView 对象。所以我似乎明白,你只能加载两者之一,或者我错过了什么?

抱歉英语不好,但这段文字是由谷歌翻译生成的。

4

2 回答 2

1

您需要做的是创建一个框架布局并添加按钮。或者使用 addContentView 构建您的视图

LayoutInflater inflater = getLayoutInflater();
getWindow().addContentView(inflater.inflate(R.layout.main, null), new     ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
于 2013-06-24T08:51:22.423 回答
0

您可以创建具有透明背景的布局并将其放在表面视图上方。

好事是在其中创建一个FrameLayout包含 2 个元素的元素。第一个是你的 SurfaceView 与 match_parent 的宽度和高度,所以它占据了整个 parent FrameLayout

第二个是具有透明背景的布局,例如可以占据父 FrameLayout 的一部分。

所以你的 SurfaceView 首先被创建,在它上面会有你的透明布局和按钮。

这可能适用于某种控制面板或其他东西,但如果您想要一种增强现实,您可以查看适用于 Android 的 OpenCV SDK,他们确实会更改相机预览图片,对其应用过滤器等。

于 2013-06-24T08:53:37.153 回答