1

我的 android 应用程序使用自定义相机。我的 xml 布局文件中只有一个框架布局(全屏),我以编程方式向其中添加了一个包含相机预览的表面视图。

现在我想在我的框架布局中添加一些按钮。我知道我可以通过编程方式添加这些按钮,但有没有更好的方法来做到这一点。我的意思是,我可以创建一个类似于掩码/布局的东西,其中包含一些按钮,然后我以编程方式将其添加到我的框架布局中吗?

专业的应用程序制造商如何做到这一点?我只是想知道这一切,这样我才能保持一个好的设计。

太感谢了!

4

2 回答 2

2

我认为这些文章会对您有所帮助:

http://android-er.blogspot.com/2010/12/add-overlay-on-camera-preview.html

如何为透明覆盖创建蒙版?

在Android上为视频添加位图掩码?

于 2013-07-29T19:59:07.267 回答
0

创建布局 xml 文件。根据您提供的信息,基地将是FrameLayout. 将按钮和其他小部件放置在您需要的任何位置。例如,假设您在 FrameLayout 中放置了 3 个按钮:b1、b2 和 b3。

添加SurfaceView后,按钮将不可见。这样做可以在 SurfaceView 上显示它们:

// Initially

frameLayout = (FrameLayout) findViewById(R.id.framelayout_id_from_xml_file);

b1 = (Button) findViewById(R.id.button_id_from_xml_file_1);

b2 = (Button) findViewById(R.id.button_id_from_xml_file_2);

b3 = (Button) findViewById(R.id.button_id_from_xml_file_3);

....
....
....

// create a SurfaceView and add it to the framelayout

frameLayout.add(sufaceView);

// now, remove the buttons and add them again

frameLayout.removeView(b1);
frameLayout.addView(b1);

frameLayout.removeView(b2);
frameLayout.addView(b2);

frameLayout.removeView(b3);
frameLayout.addView(b3);
于 2013-07-29T20:18:08.830 回答