我有一个基于“纵向模式”选项卡的应用程序,其中一个选项卡中包含一个 SurfaceView(上面带有相机预览)。我一直在从 Android API Demos 创建我的相机代码,并且所有设置都可以正常工作,除了一件事。生成的相机预览被拉伸和缩放,使预览看起来不完整。
理想情况下,我想以选项卡内相机定义的本机预览大小呈现 SurfaceView。但是,这将涉及使选项卡的内容大于其父级!(或者比包含选项卡活动的 FrameLayout 更大)。
我怎样才能实现这一目标?
问题图片:
使 FrameLayout 成为根对象,然后将相机视图堆在其中,然后是标题和选项卡小部件。您可能需要在重力设置和线性布局中堆叠页眉/页脚做一些花哨的工作,但这绝对是可能的。
又名:
frame.addView(cameraPreview);
frame.addView(header);
frame.addView(footer);
这将在图层中绘制对象。
编辑:如果您不想使用当前的框架布局,只需制作另一个。将页眉、框架布局和页脚堆叠在线性布局内。创建一个新的框架布局,将线性布局添加到其中,然后将预览添加到其上以在其上绘制。