我将此库<fo:static-content flow-name="xsl-region-after">
<fo:block text-align="right" font-size="20pt" margin-right="0.5cm">
<fo:page-number/></fo:block>
</fo:static-content>
用于我的应用。一切都很好。但我想做一些修改,这是扫描条码的制作区域更小。我想调整区域扫描的大小。此图像显示区域扫描的默认大小。
框区域扫描。如何让它更小的盒子区域或调整大小?对不起,我还没有修改过的代码,因为我发现如何调整它的大小。
答案 0 :(得分: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);
}
并在addQRScanningView()
方法中调用onCreate()
。