Zxing框架扫描框大小适配问题
2015-12-01 17:12
176 查看
Zxing框架进行二维码扫描时候会发现,随着分辨率的增加,扫描框会越来越小,SurfaceView扫描窗口就看不见了,我们可以自己定义扫描窗口的大小,以及适配屏幕问题。
Zxing包中有个类CameraManager,它是来设置扫描框的大小
扫描框框初始化数值
此类里面有个getFramingRect方法用来设置扫描的框的大小,如果要修改扫描框的大小可以在这个方法里修改
要让扫描框适应不同的分辨率,我们需要根据分辨率将扫描矿的初始值转化就好。
MIN_FRAME_WIDTH = Dp2Px(context,180);
MIN_FRAME_HEIGHT =Dp2Px(context,180) ;
MAX_FRAME_WIDTH = Dp2Px(context,280);
MAX_FRAME_HEIGHT =Dp2Px(context,240) ;
dp转为px的方法为
Zxing包中有个类CameraManager,它是来设置扫描框的大小
扫描框框初始化数值
private static int MIN_FRAME_WIDTH = 240; private static int MIN_FRAME_HEIGHT = 240; private static int MAX_FRAME_WIDTH = 480; private static int MAX_FRAME_HEIGHT = 360;
此类里面有个getFramingRect方法用来设置扫描的框的大小,如果要修改扫描框的大小可以在这个方法里修改
public Rect getFramingRect() { Point screenResolution = configManager.getScreenResolution(); if (framingRect == null) { if (camera == null) { return null; } int width = screenResolution.x * 3 / 4; if (width < MIN_FRAME_WIDTH) { width = MIN_FRAME_WIDTH; } else if (width > MAX_FRAME_WIDTH) { width = MAX_FRAME_WIDTH; } int height = screenResolution.y * 3 / 4; if (height < MIN_FRAME_HEIGHT) { height = MIN_FRAME_HEIGHT; } else if (height > MAX_FRAME_HEIGHT) { height = MAX_FRAME_HEIGHT; } int leftOffset = (screenResolution.x - width) / 2; int topOffset = (screenResolution.y - height) / 2; framingRect = new Rect(leftOffset, topOffset, leftOffset + width, topOffset + height); Log.d(TAG, "Calculated framing rect: " + framingRect); } return framingRect; }
要让扫描框适应不同的分辨率,我们需要根据分辨率将扫描矿的初始值转化就好。
MIN_FRAME_WIDTH = Dp2Px(context,180);
MIN_FRAME_HEIGHT =Dp2Px(context,180) ;
MAX_FRAME_WIDTH = Dp2Px(context,280);
MAX_FRAME_HEIGHT =Dp2Px(context,240) ;
dp转为px的方法为
public static int Dp2Px( Context context,float dp) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dp * scale + 0.5f); }
相关文章推荐
- Eclipse快捷键 10个最有用的快捷键
- texrfiled 键盘类型
- clonezilla克隆系统并使用Tuxboot-0.8.3.exe制作启动盘
- Linux在线用户通信
- totoise svn和kdiff的配置
- 找出符合下图的互联网产品实例
- Struts2第一个例子Hello World!
- CRL快速开发框架升级到3.1
- 【LeetCode】231 Power of Two
- 浏览器默认样式
- openFire只吃不出的问题
- 【LeetCode】231 Power of Two
- 浏览器默认样式
- pcmm 第四日
- QT中QTabWidget的使用
- Java中解决Servlet获取请求(GET/POST)数据时数据乱码问题
- 错位排列递推公式推导
- Linux在线用户通信
- SQL笔记(8)_第八章 使用操作符对数据进行分类
- Linux vi 命令