gpt4 book ai didi

android - 如何使用库 Zbar 使扫描条码的区域更小 android

转载 作者:行者123 更新时间:2023-11-29 19:15:07 25 4
gpt4 key购买 nike

我使用这个库 https://github.com/dm77/barcodescanner对于我的应用程序。一切正常。但我想做一些修改,使扫描条形码的区域更小。我想调整区域扫描的大小。此图像显示区域扫描的默认大小。 enter image description here

方框区域扫描。我怎样才能使它更小的盒子区域或调整大小?抱歉,我还没有修改代码,因为我卡住了如何调整它的大小。

我想要左侧图像,它不是 1。与图像 2(右侧)相比,高度较小。因为宽度没问题,没关系。只是为了高度。
enter image description here

最佳答案

如果你想调整它的大小。遵循一些步骤:

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这是您的自定义类(class)。
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) 现在将您的扫描仪 View 添加到相对布局。
 private void addQRScanningView() {
mScannerView = new ZXingScannerView(this) {
@Override
protected IViewFinder createViewFinderView(Context context) {
return new CustomViewFinderView(context);
}
};
relative_layout.addView(mScannerView);
}

并调用 addQRScanningView()onCreate()方法。

关于android - 如何使用库 Zbar 使扫描条码的区域更小 android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43799287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com