Настройка вида сканера - PullRequest
0 голосов
/ 02 июля 2018

я использую Xzing Scanner View в моем приложении для Android.

Используется ниже зависимости:

implementation 'me.dm7.barcodescanner:zxing:1.8.3'

Когда я запускаю приложение и открываю сканер, он покрывает весь экран. Итак, Вопрос - как мне настроить мой вид сканера Xzing?

На самом деле, мне нужно добавить заголовок, или вы можете сказать, что это панель инструментов чуть выше вида сканера.

Вы можете посмотреть код ниже, который есть в Scanner Activity:

private ZXingScannerView mScannerView = null;
//Here, Seeting layout for Activity (Scanner View).
mScannerView = new ZXingScannerView(this);
setContentView(mScannerView);

Итак, он открывается, как показано ниже:

enter image description here

Итак, чтобы добавить заголовок, я сделал что-то вроде этого:

RelativeLayout.LayoutParams lprams = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
mScannerView = new ZXingScannerView(getActivity());
lprams.addRule(RelativeLayout.BELOW, R.id.rel_header);
mScannerView.setLayoutParams(lprams);

Но, результат (вывод) тот же. Что я должен делать ? Пожалуйста, руководство. Спасибо.

1 Ответ

0 голосов
/ 02 июля 2018

Я решил, превратив активность сканера во фрагмент. Оформить заказ:

 @Nullable
 @Override
 public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {


  RelativeLayout.LayoutParams lprams = new RelativeLayout.LayoutParams(
  RelativeLayout.LayoutParams.WRAP_CONTENT,
  RelativeLayout.LayoutParams.WRAP_CONTENT);
  mScannerView = new ZXingScannerView(getActivity());
  lprams.addRule(RelativeLayout.BELOW, R.id.rel_header_one);
  mScannerView.setLayoutParams(lprams);


  if (savedInstanceState != null) {
     mFlash = savedInstanceState.getBoolean(FLASH_STATE, false);
     mAutoFocus = savedInstanceState.getBoolean(AUTO_FOCUS_STATE, true);
     mSelectedIndices = savedInstanceState.getIntegerArrayList(SELECTED_FORMATS);
     mCameraId = savedInstanceState.getInt(CAMERA_ID, -1);
  } else {
     mFlash = false;
     mAutoFocus = true;
     mSelectedIndices = null;
     mCameraId = -1;
  }
  return mScannerView;
 }

Это важно: return mScannerView;

;)

...