From 48d7dbe88decde6e9aa3146760e1317bb5b86dc4 Mon Sep 17 00:00:00 2001 From: jenly1314 Date: Wed, 19 Dec 2018 14:25:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9text=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E5=B1=9E=E6=80=A7=EF=BC=8C=E5=A6=82?= =?UTF-8?q?=EF=BC=9Atext->labelText=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/caches/build_file_checksums.ser | Bin 590 -> 590 bytes README.md | 16 +++++------ .../res/layout/custom_capture_activity.xml | 6 ++-- .../java/com/king/zxing/ViewfinderView.java | 26 ++++++++++-------- lib/src/main/res/values/attrs.xml | 10 +++---- versions.gradle | 4 +-- 6 files changed, 33 insertions(+), 29 deletions(-) diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 3a035791545382ca4e496eefd95d2497bfca8b0a..69db6a4cc882c25a53f382e8b373e46b738f19e3 100644 GIT binary patch delta 36 ucmV+<0Nel01kMDIm;}Widt9-ca{&-9YTvh%!%4!o-Xt`(jO##?9|A8dfe#FF1FB3E2| 扫描区边角的颜色 | | laserColor | color |#FF1FB3E2| 扫描区激光线的颜色 | | resultPointColor | color |#C0EFBD21| 扫描区结果点的颜色 | -| text | string | | 扫描提示文本信息 | -| textColor | color |#FFC0C0C0| 提示文本字体颜色 | -| textSize | dimension |14sp| 提示文本字体大小 | -| textPadding | dimension |24dp| 提示文本距离扫描区的间距 | -| textLocation | enum |top| 提示文本信息显示的位置 | +| labelText | string | | 扫描提示文本信息 | +| labelTextColor | color |#FFC0C0C0| 提示文本字体颜色 | +| labelTextSize | dimension |14sp| 提示文本字体大小 | +| labelTextPadding | dimension |24dp| 提示文本距离扫描区的间距 | +| labelTextLocation | enum |top| 提示文本信息显示的位置 | ## 引入 @@ -36,17 +36,17 @@ ZXingLite for Android 是ZXing的精简版,优化扫码和生成二维码功 com.king.zxing zxing-lite - 1.0.3 + 1.0.4 pom ``` ### Gradle: ```gradle -implementation 'com.king.zxing:zxing-lite:1.0.3' +implementation 'com.king.zxing:zxing-lite:1.0.4' ``` ### Lvy: ```lvy - + ``` diff --git a/app/src/main/res/layout/custom_capture_activity.xml b/app/src/main/res/layout/custom_capture_activity.xml index 050e0c4..16b8228 100644 --- a/app/src/main/res/layout/custom_capture_activity.xml +++ b/app/src/main/res/layout/custom_capture_activity.xml @@ -13,13 +13,13 @@ android:id="@+id/viewfinder_view" android:layout_width="match_parent" android:layout_height="match_parent" - app:text="@string/tips_scan_code" - app:textSize="@dimen/size_14sp" + app:labelText="@string/tips_scan_code" + app:labelTextSize="@dimen/size_14sp" app:laserColor="@color/colorAccent" app:frameColor="@color/colorPrimary" app:cornerColor="@color/colorPrimary" app:resultPointColor="@color/colorAccent" - app:textLocation="bottom"/> + app:labelTextLocation="bottom"/> possibleResultPoints; private List lastPossibleResultPoints; @@ -126,11 +126,11 @@ public final class ViewfinderView extends View { laserColor = array.getColor(R.styleable.ViewfinderView_laserColor, ContextCompat.getColor(context,R.color.viewfinder_laser)); resultPointColor = array.getColor(R.styleable.ViewfinderView_resultPointColor, ContextCompat.getColor(context,R.color.viewfinder_result_point_color)); - labelText = array.getString(R.styleable.ViewfinderView_text); - labelTextColor = array.getColor(R.styleable.ViewfinderView_textColor, ContextCompat.getColor(context,R.color.viewfinder_text_color)); - labelTextSize = array.getDimension(R.styleable.ViewfinderView_textSize, TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP,14f,getResources().getDisplayMetrics())); - textPadding = array.getDimension(R.styleable.ViewfinderView_textPadding,TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,24,getResources().getDisplayMetrics())); - textLocation = TextLocation.getFromInt(array.getInt(R.styleable.ViewfinderView_textLocation,0)); + labelText = array.getString(R.styleable.ViewfinderView_labelText); + labelTextColor = array.getColor(R.styleable.ViewfinderView_labelTextColor, ContextCompat.getColor(context,R.color.viewfinder_text_color)); + labelTextSize = array.getDimension(R.styleable.ViewfinderView_labelTextSize, TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP,14f,getResources().getDisplayMetrics())); + labelTextPadding = array.getDimension(R.styleable.ViewfinderView_labelTextPadding,TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,24,getResources().getDisplayMetrics())); + labelTextLocation = TextLocation.getFromInt(array.getInt(R.styleable.ViewfinderView_labelTextLocation,0)); array.recycle(); @@ -219,6 +219,10 @@ public final class ViewfinderView extends View { paint.setColor(resultPointColor); synchronized (currentPossible) { for (ResultPoint point : currentPossible) { + if(point.getX()frame.right || + point.getY()frame.bottom){ + continue; + } canvas.drawCircle(frameLeft + (int) (point.getX() * scaleX), frameTop + (int) (point.getY() * scaleY), POINT_SIZE, paint); @@ -255,11 +259,11 @@ public final class ViewfinderView extends View { textPaint.setTextSize(labelTextSize); textPaint.setTextAlign(Paint.Align.CENTER); StaticLayout staticLayout = new StaticLayout(labelText,textPaint,canvas.getWidth(), Layout.Alignment.ALIGN_NORMAL,1.0f,0.0f,true); - if(textLocation == TextLocation.BOTTOM){ - canvas.translate(frame.left + frame.width() / 2,frame.bottom + textPadding); + if(labelTextLocation == TextLocation.BOTTOM){ + canvas.translate(frame.left + frame.width() / 2,frame.bottom + labelTextPadding); staticLayout.draw(canvas); }else{ - canvas.translate(frame.left + frame.width() / 2,frame.top - textPadding - staticLayout.getHeight()); + canvas.translate(frame.left + frame.width() / 2,frame.top - labelTextPadding - staticLayout.getHeight()); staticLayout.draw(canvas); } } diff --git a/lib/src/main/res/values/attrs.xml b/lib/src/main/res/values/attrs.xml index 5df4738..597b969 100644 --- a/lib/src/main/res/values/attrs.xml +++ b/lib/src/main/res/values/attrs.xml @@ -5,11 +5,11 @@ - - - - - + + + + + diff --git a/versions.gradle b/versions.gradle index b37229a..dd48bc9 100644 --- a/versions.gradle +++ b/versions.gradle @@ -1,7 +1,7 @@ //App def app_version = [:] -app_version.versionCode = 4 -app_version.versionName = "1.0.3" +app_version.versionCode = 5 +app_version.versionName = "1.0.4" ext.app_version = app_version //build version