Skip to content

Commit e5dd957

Browse files
author
hupei
committed
release 2.2.0
1 parent ffe026d commit e5dd957

File tree

5 files changed

+31
-33
lines changed

5 files changed

+31
-33
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
- 依赖使用 Gradle 构建时添加一下即可
2525

2626
```javascript
27-
compile 'com.mylhyl:zxingscanner:2.1.9'
27+
compile 'com.mylhyl:zxingscanner:2.2.0'
2828
```
2929

3030
## 2、离线jar,需要手动添加 Zxing 核心库

sample/src/main/java/com/mylhyl/zxing/scanner/sample/OptionsScannerActivity.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,6 @@ protected void onCreate(Bundle savedInstanceState) {
4848
Drawable tintDrawable = DrawableCompat.wrap(originalDrawable).mutate();
4949
DrawableCompat.setTint(tintDrawable, Color.RED);
5050

51-
Bitmap bitmap = Scanner.drawableToBitmap(tintDrawable);
52-
53-
ImageView imageView = findViewById(R.id.imageView);
54-
imageView.setImageBitmap(bitmap);
55-
5651
ScannerOptions.Builder builder = new ScannerOptions.Builder();
5752
builder
5853
// .setFrameStrokeColor(Color.RED)
@@ -74,7 +69,7 @@ protected void onCreate(Bundle savedInstanceState) {
7469
// .setLaserLine(ScannerOptions.LaserStyle.RES_GRID, R.mipmap.zfb_grid_scan_line)//网格图
7570
// .setFrameCornerColor(0xFF26CEFF)//支付宝颜色
7671

77-
// .setScanFullScreen(true)
72+
.setScanFullScreen(true)
7873

7974
// .setFrameHide(false)
8075
// .setFrameCornerHide(true)

sample/src/main/res/layout/activity_scanner_options.xml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,4 @@
1010
android:layout_width="match_parent"
1111
android:layout_height="match_parent" />
1212

13-
<ImageView
14-
android:id="@+id/imageView"
15-
android:layout_width="50dp"
16-
android:layout_height="50dp" />
1713
</RelativeLayout>

zxingscanner/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ android {
77
minSdkVersion 15
88
targetSdkVersion 28
99
versionCode 20210122
10-
versionName '2.1.9'
10+
versionName '2.2.0'
1111
}
1212
buildTypes {
1313
release {

zxingscanner/src/main/java/com/mylhyl/zxing/scanner/ViewfinderView.java

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -316,34 +316,41 @@ private void drawLaserLine(Canvas canvas, Rect frame) {
316316
* @param point
317317
*/
318318
private void drawLaserLineFullScreen(Canvas canvas, Point point) {
319-
if (scannerOptions.getLaserStyle() == ScannerOptions.LaserStyle.COLOR_LINE) {
319+
ScannerOptions.LaserStyle laserLineStyle = scannerOptions.getLaserStyle();
320+
if (laserLineStyle == ScannerOptions.LaserStyle.COLOR_LINE) {
320321
paint.setStyle(Paint.Style.FILL);
321322
paint.setColor(scannerOptions.getLaserLineColor());// 设置扫描线颜色
322323
canvas.drawRect(0, laserLineTop, point.x, laserLineTop + laserLineHeight, paint);
323-
} else {
324-
if (laserLineBitmap == null)//图片资源文件转为 Bitmap
324+
return;
325+
}
326+
// 图片资源文件转为 Bitmap
327+
if (laserLineBitmap == null) {
328+
if (laserLineStyle == ScannerOptions.LaserStyle.DRAWABLE_LINE ||
329+
laserLineStyle == ScannerOptions.LaserStyle.DRAWABLE_GRID) {
330+
laserLineBitmap = Scanner.drawableToBitmap(scannerOptions.getLaserLineDrawable());
331+
} else {
325332
laserLineBitmap = BitmapFactory.decodeResource(getResources(), scannerOptions.getLaserLineResId());
326-
int height = laserLineBitmap.getHeight();//取原图高
327-
//网格图片
328-
if (scannerOptions.getLaserStyle() == ScannerOptions.LaserStyle.RES_GRID) {
329-
int dstRectFTop = 0;
330-
if (laserLineTop >= height) {
331-
dstRectFTop = laserLineTop - height;
332-
}
333-
RectF dstRectF = new RectF(0, dstRectFTop, point.x, laserLineTop);
334-
Rect srcRect = new Rect(0, (int) (height - dstRectF.height()), laserLineBitmap.getWidth(), height);
335-
canvas.drawBitmap(laserLineBitmap, srcRect, dstRectF, paint);
336333
}
337-
//线条图片
338-
else {
339-
//如果没有设置线条高度,则用图片原始高度
340-
if (laserLineHeight == dp2px(ScannerOptions.DEFAULT_LASER_LINE_HEIGHT)) {
341-
laserLineHeight = laserLineBitmap.getHeight() / 2;
342-
}
343-
Rect laserRect = new Rect(0, laserLineTop, point.x, laserLineTop + laserLineHeight);
344-
canvas.drawBitmap(laserLineBitmap, null, laserRect, paint);
334+
}
335+
int height = laserLineBitmap.getHeight();//取原图高
336+
// 网格图片
337+
if (laserLineStyle == ScannerOptions.LaserStyle.RES_GRID ||
338+
laserLineStyle == ScannerOptions.LaserStyle.DRAWABLE_GRID) {
339+
int dstRectFTop = 0;
340+
if (laserLineTop >= height) {
341+
dstRectFTop = laserLineTop - height;
345342
}
343+
RectF dstRectF = new RectF(0, dstRectFTop, point.x, laserLineTop);
344+
Rect srcRect = new Rect(0, (int) (height - dstRectF.height()), laserLineBitmap.getWidth(), height);
345+
canvas.drawBitmap(laserLineBitmap, srcRect, dstRectF, paint);
346+
return;
346347
}
348+
// 线条图片, 如果没有设置线条高度,则用图片原始高度
349+
if (laserLineHeight == dp2px(ScannerOptions.DEFAULT_LASER_LINE_HEIGHT)) {
350+
laserLineHeight = laserLineBitmap.getHeight() / 2;
351+
}
352+
Rect laserRect = new Rect(0, laserLineTop, point.x, laserLineTop + laserLineHeight);
353+
canvas.drawBitmap(laserLineBitmap, null, laserRect, paint);
347354
}
348355

349356
void drawViewfinder() {

0 commit comments

Comments
 (0)