我使用这个库https://github.com/dm77/barcodescanner
为我的应用程序。一切正常。但我想做一些修改,使扫描条形码的区域更小。我想调整区域扫描的大小。此图像显示区域扫描的默认大小。 如何使扫描条码区使用库Zbar更小android
盒子区域扫描。我怎样才能让它更小的箱子面积或调整大小?对不起,我还没有修改代码,因为我坚持如何调整它。
我想要左侧的图像不是1.较小的高度比图像没有2(右侧)。对于宽度是好的,没关系。仅适用于身高。
我使用这个库https://github.com/dm77/barcodescanner
为我的应用程序。一切正常。但我想做一些修改,使扫描条形码的区域更小。我想调整区域扫描的大小。此图像显示区域扫描的默认大小。 如何使扫描条码区使用库Zbar更小android
盒子区域扫描。我怎样才能让它更小的箱子面积或调整大小?对不起,我还没有修改代码,因为我坚持如何调整它。
我想要左侧的图像不是1.较小的高度比图像没有2(右侧)。对于宽度是好的,没关系。仅适用于身高。
如果你想调整它。遵循以下步骤:
1)在当前的xml文件中添加一个布局。
<RelativeLayout
android:id="@+id/qr_scan_parent_view"
android:layout_width="match_parent"
android:layout_height="match_parent">
</RelativeLayout>
2)在Java文件中查找相对布局的ID并初始化它。
3)调整大小框使用CustomViewFinderView
这是您的自定义类。
private static class CustomViewFinderView extends ViewFinderView {
public final Paint PAINT = new Paint();
public CustomViewFinderView(Context context) {
super(context);
init();
}
public CustomViewFinderView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
private void init() {
PAINT.setColor(Color.WHITE);
PAINT.setAntiAlias(true);
setSquareViewFinder(true);
}
@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
drawTradeMark(canvas);
}
private void drawTradeMark(Canvas canvas) {
Rect framingRect = getFramingRect();
float tradeMarkTop;
float tradeMarkLeft;
if (framingRect != null) {
tradeMarkTop = framingRect.bottom + PAINT.getTextSize() + 10;
tradeMarkLeft = framingRect.left;
} else {
tradeMarkTop = 10;
tradeMarkLeft = canvas.getHeight() - PAINT.getTextSize() - 10;
}
canvas.drawText("", tradeMarkLeft, tradeMarkTop, PAINT);
}
}
4)现在将您的扫描仪视图添加到相对布局。
private void addQRScanningView() {
mScannerView = new ZXingScannerView(this) {
@Override
protected IViewFinder createViewFinderView(Context context) {
return new CustomViewFinderView(context);
}
};
relative_layout.addView(mScannerView);
}
和onCreate()
方法调用。
谢谢先生。我已经实现你的代码,但没有任何改变。 –
哪个价值我需要玩它来调整? –
https://stackoverflow.com/a/47591098/2820534在您提供的提示帮助下实现 – Prabs
你想让它变成方形吗? – Piyush
库没有这种方法来调整扫描仪视图的大小。 –
@Piyush我想让高度更小。你看到图像中的红线?也许我想要的顶部和红线之间的高度..意味着比默认小..你明白我的意思了吗? –