我正在使用Zbar阅读QRCode . 我将这个https://github.com/DushyanthMaguluru/ZBarScanner示例用于我的活动 . 问题是如何在FrameLayout上显示cameraView?
编辑:
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
mCamera = getCameraInstance();
if(!isCameraAvailable())
{
cancelRequest();
return;
}
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
mAutoFocusHandler = new Handler();
setupScanner();
mPreview = new CameraPreview(this, this, autoFocusCB);
//setContentView(mPreview);
FrameLayout preview = (FrameLayout)findViewById(R.id.cameraPreview);
preview.addView(mPreview);
}
1 回答
首先删除我认为获取相机访问权限的行:
mCamera = getCameraInstance();
. 你不想这样做,因为CameraPreview
会为你做这件事 .我不会使用FrameLayout,因为项目是一个接一个地放置,你想把你的cameraPreview放在最后 . 所以你应该在另一个
RelativeLayout
中有一个LinearLayout
(我知道,它现在很好's not efficient, but that') . 像(你的main.xml布局):现在,您需要将CameraPreview放在
zbar_layout_area
中 . 出于这个原因,尝试将代码更改为(盲编码):还要确保你已经设置了足够的预备: