别说我单纯 2016-06-24 06:23 采纳率: 100%
浏览 1855
已采纳

Zxing 扫码框不居中 用Android平板扫码失灵 在线等

从网上下的简化好的Zxing 正常运行没问题。
因为项目需要 要求把竖屏扫码改为横屏。
上网查了一下,把配置文件里改为android:screenOrientation="landscape"
在void setDesiredCameraParameters(Camera camera) {
Camera.Parameters parameters = camera.getParameters();
Log.d(TAG, "Setting preview size: " + cameraResolution);
parameters.setPreviewSize(cameraResolution.x, cameraResolution.y);
setFlash(parameters);
setZoom(parameters);
//setSharpness(parameters);旋转90度
//modify here
//camera.setDisplayOrientation(90);
camera.setParameters(parameters);
}
注释了旋转。
在Activity为全屏显示时正常。但是项目要求显示为dialog 把主题改为 android:theme="@android:style/Theme.Dialog" 。
问题出现了 扫码框不居中,而是在左下角。
并且用Android平板扫码失灵。
项目比较着急,之前没做过扫码。请各位大神指点,在线等

  • 写回答

1条回答

  • 「已注销」 2016-06-24 08:42
    关注

    楼主最好看一下源码,我当初下了zxing的库的时候完全傻眼了,一大堆和扫码不相关的代码,看了我2天才理清楚。我大概给你讲一下:
    1、二维码的识别其实最主要的就是将自定义控件区域内的图片数据,转换为像素数组,然后对这个数组进行切割,具体类是PlanarYUVLuminanceSource.java,这个类可以好好看看,看完这个类你就差不多明白整个原理了。
    2、其他的操作别看这个demo封来封去的,就是脱了裤子放屁,关键的代码就那么几句,你可以将zxing相关的类筛选出来分析。
    3、至于你说的横屏后不居中,应该是那个自定义扫描框的写法有误,其实没必要用他的,我就是自己写的View来扫描,动态计算坐标
    4、平板扫码失灵,这个可能有好几个可能。可能是摄像头的尺寸不支持demo设置的默认尺寸,也可能是平板的一些杂七杂八的问题,平板问题很多的,我当时分析的时候貌似就在摄像头的封装类看到了点BUG,不知道是不是产生你这个的原因,你可以细看下。
    5、关键功能很简单的,被demo封装成一大堆,看着都烦,不过要有耐心,我当初也是看着蛋疼,逼着看完发现,这TM真是简单

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常