gpt4 book ai didi

am.widget.zxingscanview.ZxingForegroundView类的使用及代码示例

转载 作者:知者 更新时间:2024-03-16 13:57:31 27 4
gpt4 key购买 nike

本文整理了Java中am.widget.zxingscanview.ZxingForegroundView类的一些代码示例,展示了ZxingForegroundView类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZxingForegroundView类的具体详情如下:
包路径:am.widget.zxingscanview.ZxingForegroundView
类名称:ZxingForegroundView

ZxingForegroundView介绍

[英]前景视图 Created by Alex on 2016/11/30.
[中]前景视图 由Alex于2016年11月30日创建。

代码示例

代码示例来源:origin: AlexMofer/ProjectX

@Override
protected void onAttachedToWindow() {
  super.onAttachedToWindow();
  bindScanView();
  start();
}

代码示例来源:origin: AlexMofer/ProjectX

private void drawState(Canvas canvas) {
  if (mScanView == null)
    return;
  if (isInEditMode() || mScanView.isOpen()) {
    drawScan(canvas);
    return;
  }
  if (mScanView.getErrorCode() == ZxingScanView.ERROR_CODE_NULL) {
    drawOpen(canvas);
  } else {
    switch (mode) {
      default:
      case MODE_OPEN:
        drawOpen(canvas);
        break;
      case MODE_ERROR:
        drawError(canvas);
        break;
    }
  }
}

代码示例来源:origin: AlexMofer/ProjectX

@Override
protected void onDraw(Canvas canvas) {
  super.onDraw(canvas);
  drawState(canvas);
}

代码示例来源:origin: AlexMofer/ZxingScanView

private void bindScanView() {
  if (mScanViewId == 0)
    return;
  ViewParent parent = getParent();
  if (parent != null && parent instanceof View) {
    View vParent = (View) parent;
    View child = vParent.findViewById(mScanViewId);
    if (child != null && child instanceof ZxingScanView) {
      bindScanView((ZxingScanView) child);
    }
  }
}

代码示例来源:origin: AlexMofer/ZxingScanView

int resultPointsColor = 0xc0ffbd21;
float resultPointsSize = 6;
TypedArray custom = getContext().obtainStyledAttributes(attrs,
    R.styleable.ZxingForegroundView);
open = custom.getDrawable(R.styleable.ZxingForegroundView_zfvOpenDrawable);
custom.recycle();
mScanViewId = scanId;
setOpenDrawable(open);
setErrorDrawable(error);
setMode(mode);
setCoverColor(coverColor);
setScanRectDrawable(scanRect);
setScanFlagDrawable(scanFlag);
setFlagAnimatorDuration(duration);
if (repeatMode == 1) {
  setFlagAnimatorRepeatMode(ValueAnimator.RESTART);
} else {
  setFlagAnimatorRepeatMode(ValueAnimator.REVERSE);
setShowResultPoints(showResultPoints);
setResultPointsAnimatorDuration(resultPointsAnimatorDuration);
setMaxResultPointsNumber(maxNumber);
setResultPointsColor(resultPointsColor);
setResultPointsSize(resultPointsSize);
mLoadingAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
  @Override

代码示例来源:origin: AlexMofer/ZxingScanView

private void drawScan(Canvas canvas) {
  final int scanWidth = mScanView.getScanWidth() > 0 ?
      (mScanView.getScanWidth() > getWidth() ? getWidth() : mScanView.getScanWidth())
      : getWidth();
  final int scanHeight = mScanView.getScanHeight() > 0 ?
      (mScanView.getScanHeight() > getHeight() ? getHeight() : mScanView.getScanHeight())
      : getHeight();
  final int coverX = (getWidth() - scanWidth) / 2;
  final int coverY = (getHeight() - scanHeight) / 2;
  mPaint.setColor(mCoverColor);
  if (coverX > 0 && coverY > 0) {
    mCoverRect.set(0, 0, getWidth(), coverY);
    canvas.drawRect(mCoverRect, mPaint);
    mCoverRect.set(0, getHeight() - coverY, getWidth(), getHeight());
    canvas.drawRect(mCoverRect, mPaint);
    mCoverRect.set(0, coverY, coverX, getHeight() - coverY);
    canvas.drawRect(mCoverRect, mPaint);
    mCoverRect.set(getWidth() - coverX, coverY, getWidth(), getHeight() - coverY);
    canvas.drawRect(mCoverRect, mPaint);
  } else if (coverX > 0) {
    mCoverRect.set(0, 0, coverX, getHeight());
    canvas.drawRect(mCoverRect, mPaint);
    mCoverRect.set(getWidth() - coverX, 0, getWidth(), getHeight());
    canvas.drawRect(mCoverRect, mPaint);
  } else if (coverY > 0) {
    mCoverRect.set(0, 0, getWidth(), coverY);
    canvas.drawRect(mCoverRect, mPaint);
    mCoverRect.set(0, getHeight() - coverY, getWidth(), getHeight());
    canvas.drawRect(mCoverRect, mPaint);

代码示例来源:origin: AlexMofer/ProjectX

@Override
  public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
                      @NonNull int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    switch (requestCode) {
      case PERMISSIONS_REQUEST_CAMERA: {
        if (grantResults.length > 0
            && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
          mVScan.open();
        } else {
          mVForeground.setMode(ZxingForegroundView.MODE_ERROR);
        }
      }
    }
  }
}

代码示例来源:origin: AlexMofer/ZxingScanView

@Override
protected void initResource(Bundle savedInstanceState) {
  setSupportActionBar(R.id.zxingscanview_toolbar);
  getSupportActionBar().setDisplayHomeAsUpEnabled(false);
  scanView = (ZxingScanView) findViewById(R.id.zxingscanview_zsv_scan);
  foregroundView = (ZxingForegroundView) findViewById(R.id.zxingscanview_zfv_foreground);
  scanView.addOnScanListener(this);
  foregroundView.setOpenDrawable(new DoubleCircleDrawable(getResources().getDisplayMetrics().density));
}

代码示例来源:origin: AlexMofer/ProjectX

@Override
protected void onDetachedFromWindow() {
  super.onDetachedFromWindow();
  end();
}

代码示例来源:origin: AlexMofer/ProjectX

int resultPointsColor = 0xc0ffbd21;
float resultPointsSize = 6;
TypedArray custom = getContext().obtainStyledAttributes(attrs,
    R.styleable.ZxingForegroundView);
open = custom.getDrawable(R.styleable.ZxingForegroundView_zfvOpenDrawable);
custom.recycle();
mScanViewId = scanId;
setOpenDrawable(open);
setErrorDrawable(error);
setMode(mode);
setCoverColor(coverColor);
setScanRectDrawable(scanRect);
setScanFlagDrawable(scanFlag);
setFlagAnimatorDuration(duration);
if (repeatMode == 1) {
  setFlagAnimatorRepeatMode(ValueAnimator.RESTART);
} else {
  setFlagAnimatorRepeatMode(ValueAnimator.REVERSE);
setShowResultPoints(showResultPoints);
setResultPointsAnimatorDuration(resultPointsAnimatorDuration);
setMaxResultPointsNumber(maxNumber);
setResultPointsColor(resultPointsColor);
setResultPointsSize(resultPointsSize);
mLoadingAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
  @Override

代码示例来源:origin: AlexMofer/ProjectX

private void drawScan(Canvas canvas) {
  final int scanWidth = mScanView.getScanWidth() > 0 ?
      (mScanView.getScanWidth() > getWidth() ? getWidth() : mScanView.getScanWidth())
      : getWidth();
  final int scanHeight = mScanView.getScanHeight() > 0 ?
      (mScanView.getScanHeight() > getHeight() ? getHeight() : mScanView.getScanHeight())
      : getHeight();
  final int coverX = (getWidth() - scanWidth) / 2;
  final int coverY = (getHeight() - scanHeight) / 2;
  mPaint.setColor(mCoverColor);
  if (coverX > 0 && coverY > 0) {
    mCoverRect.set(0, 0, getWidth(), coverY);
    canvas.drawRect(mCoverRect, mPaint);
    mCoverRect.set(0, getHeight() - coverY, getWidth(), getHeight());
    canvas.drawRect(mCoverRect, mPaint);
    mCoverRect.set(0, coverY, coverX, getHeight() - coverY);
    canvas.drawRect(mCoverRect, mPaint);
    mCoverRect.set(getWidth() - coverX, coverY, getWidth(), getHeight() - coverY);
    canvas.drawRect(mCoverRect, mPaint);
  } else if (coverX > 0) {
    mCoverRect.set(0, 0, coverX, getHeight());
    canvas.drawRect(mCoverRect, mPaint);
    mCoverRect.set(getWidth() - coverX, 0, getWidth(), getHeight());
    canvas.drawRect(mCoverRect, mPaint);
  } else if (coverY > 0) {
    mCoverRect.set(0, 0, getWidth(), coverY);
    canvas.drawRect(mCoverRect, mPaint);
    mCoverRect.set(0, getHeight() - coverY, getWidth(), getHeight());
    canvas.drawRect(mCoverRect, mPaint);

代码示例来源:origin: AlexMofer/ProjectX

private void bindScanView() {
  if (mScanViewId == 0)
    return;
  ViewParent parent = getParent();
  if (parent instanceof View) {
    View vParent = (View) parent;
    View child = vParent.findViewById(mScanViewId);
    if (child instanceof ZxingScanView) {
      bindScanView((ZxingScanView) child);
    }
  }
}

代码示例来源:origin: AlexMofer/ZxingScanView

@Override
  public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
                      @NonNull int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    switch (requestCode) {
      case PERMISSIONS_REQUEST_CAMERA: {
        if (grantResults.length > 0
            && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
          scanView.open();
        } else {
          foregroundView.setMode(ZxingForegroundView.MODE_ERROR);
        }
      }
    }
  }
}

代码示例来源:origin: AlexMofer/ZxingScanView

@Override
protected void onDetachedFromWindow() {
  super.onDetachedFromWindow();
  end();
}

代码示例来源:origin: AlexMofer/ZxingScanView

private void drawState(Canvas canvas) {
  if (mScanView == null)
    return;
  if (isInEditMode() || mScanView.isOpen()) {
    drawScan(canvas);
    return;
  }
  if (mScanView.getErrorCode() == ZxingScanView.ERROR_CODE_NULL) {
    drawOpen(canvas);
  } else {
    switch (mode) {
      default:
      case MODE_OPEN:
        drawOpen(canvas);
        break;
      case MODE_ERROR:
        drawError(canvas);
        break;
    }
  }
}

代码示例来源:origin: AlexMofer/ZxingScanView

@Override
protected void onAttachedToWindow() {
  super.onAttachedToWindow();
  bindScanView();
  start();
}

代码示例来源:origin: AlexMofer/ZxingScanView

@Override
protected void onDraw(Canvas canvas) {
  super.onDraw(canvas);
  drawState(canvas);
}

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com