남잭슨의 개발 블로그

[Android]QR코드, 바코드 리더 라이브러리 Zxing 2.세로모드, 커스텀 본문

Android

[Android]QR코드, 바코드 리더 라이브러리 Zxing 2.세로모드, 커스텀

남잭슨 2017. 8. 8. 17:19

Android QR코드 / 바코드 리더 라이브러리 Zxing 을 사용하다보니 ,

내가 혹은 사용자가

" 왜 QR / 바코드 리더를 실행시키면 화면 회전이되지? "

" QR/ 바코드 리더 화면이 마음에 들지 않는다!"

라는 생각이 들때가 있습니다.!!

그렇기 위해서 우리는 기본 Zxing를 간단하게 커스텀을 하도록하겠습니다.


기본 Zxing 바코드 / QR 코드 리더 사용법은 아래 글을 참조하세요!


2017/08/08 - [Android] - [Android]QR코드, 바코드 리더 라이브러리 Zxing 1.사용법

Zxing를 구현해 보신분은 알고 계시겠지만, 실행시

세로화면 -> 가로화면으로 전환되어 바코드가 실행됩니다.


회전되지 않고 수정하기위해서는


먼저, CaptureActivity 를 상속받는 Custom할 Activity를 생성합니다.


이와 같이 내용따위는 필요없습니다 (추후 , 커스텀하기위해선 필요하다!)

import com.journeyapps.barcodescanner.CaptureActivity;

/**
 * Created by namjai on 2017-08-08.
 */

public class ZxingActivity  extends CaptureActivity {

}


상속받은 후에 바코드 / QR 코드 리더를 실행할때 아래와 같은 설정을 추가해주면 됩니다.

        IntentIntegrator integrator = new IntentIntegrator(this);
        integrator.setCaptureActivity( 새로만든액티비티.class );
        integrator.setOrientationLocked(false);
        integrator.initiateScan();

기존 Zxing 사용



가로모드 Zxing 사용



이렇게 실행하면 , 가로모드 Zxing 이 실행된다!

가로 모드까지 했는데도 만족이 안된다!

Zxing 리더화면을 커스텀해보자!


위에 만들었던 ZxingActivity에 커스텀할 코드를 추가하면 된다!

난 TextView를 추가하겠다!


public class ZxingActivity  extends CaptureActivity {
/**
 //호출 코드
 IntentIntegrator integrator = new IntentIntegrator(this);
 integrator.setCaptureActivity(ZxingActivity.class);
 integrator.setOrientationLocked(false);
 integrator.initiateScan();
 */
    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);

        TextView title_view = new TextView(this);
        title_view.setLayoutParams(new LinearLayout.LayoutParams(WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT));
        title_view.setBackgroundColor(Color.parseColor("#00FFFFFF"));
        title_view.setPadding(150, 100, 100, 100);
        title_view.setTextColor(Color.parseColor("#FF7200"));
        title_view.setTextSize(30);
        title_view.setText("바코드 / QR 코드 입력화면");

        this.addContentView(title_view, layoutParams);
    }

}


setContentView를 사용하면 , 바코드 실행이 정상적으로 동작하지않으니 ,

참조하시길


실행 결과는 아래와 같다





























































이런식으로 Custom하여, 원하는 리더화면을 만들수 있다.


Zxing 라이브러리 사용법과 커스텀하는법을 알아보았습니다!

참조하여 좋은 APP을 개발합시다!




2017/08/08 - [Android] - [Android]QR코드, 바코드 리더 라이브러리 Zxing 1.사용법







Comments