크기를 조정하려는 경우. 몇 단계를 따르십시오 :
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()
방법에 를 호출합니다.
정사각형으로 만들고 싶습니까? – Piyush
라이브러리에는 스캐너보기의 크기를 조정하는 방법이 없습니다. –
@ Piyush 높이를 더 작게 만들고 싶습니다. 이미지에 빨간색 선이 보입니까? 어쩌면 내가 위쪽과 빨간색 선 사이의 높이를 원해. 기본값보다 작다는 뜻이야. 내가 무슨 뜻인지 알 겠어? –