Android

[Android] Zxing Library Code Scanner Remove Laser Line

yenne 2019. 8. 12. 14:43

 

레이저라인이 엄청 안지워져서 고생했는데....

xml에서 app:zxing_viewfinder_laser 값을 아무리 바꿔도 소용이 없었다.

(컬러가 들어간 걸로는 잘 바뀜)

 

열심히 구글링 한 결과 아래 코드로 해결했음.

 

    private void disableLaser() {

        ViewfinderView viewFinder = barcodeView.getViewFinder();
        Field scannerAlphaField = null;

        try {
            scannerAlphaField = viewFinder.getClass().getDeclaredField("SCANNER_ALPHA");
            scannerAlphaField.setAccessible(true);
            scannerAlphaField.set(viewFinder, new int[1]);

        } catch (NoSuchFieldException e) {
            e.printStackTrace();

        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
    }