修改text相关自定义属性,如:text->labelText。

This commit is contained in:
jenly1314
2018-12-19 14:25:35 +08:00
parent 85110d74dc
commit 48d7dbe88d
6 changed files with 33 additions and 29 deletions

Binary file not shown.

View File

@@ -23,11 +23,11 @@ ZXingLite for Android 是ZXing的精简版优化扫码和生成二维码功
| cornerColor | color |<font color=#1FB3E2>#FF1FB3E2</font>| 扫描区边角的颜色 |
| laserColor | color |<font color=#1FB3E2>#FF1FB3E2</font>| 扫描区激光线的颜色 |
| resultPointColor | color |<font color=#EFBD21>#C0EFBD21</font>| 扫描区结果点的颜色 |
| text | string | | 扫描提示文本信息 |
| textColor | color |<font color=#C0C0C0>#FFC0C0C0</font>| 提示文本字体颜色 |
| textSize | dimension |14sp| 提示文本字体大小 |
| textPadding | dimension |24dp| 提示文本距离扫描区的间距 |
| textLocation | enum |top| 提示文本信息显示的位置 |
| labelText | string | | 扫描提示文本信息 |
| labelTextColor | color |<font color=#C0C0C0>#FFC0C0C0</font>| 提示文本字体颜色 |
| labelTextSize | dimension |14sp| 提示文本字体大小 |
| labelTextPadding | dimension |24dp| 提示文本距离扫描区的间距 |
| labelTextLocation | enum |top| 提示文本信息显示的位置 |
## 引入
@@ -36,17 +36,17 @@ ZXingLite for Android 是ZXing的精简版优化扫码和生成二维码功
<dependency>
<groupId>com.king.zxing</groupId>
<artifactId>zxing-lite</artifactId>
<version>1.0.3</version>
<version>1.0.4</version>
<type>pom</type>
</dependency>
```
### Gradle:
```gradle
implementation 'com.king.zxing:zxing-lite:1.0.3'
implementation 'com.king.zxing:zxing-lite:1.0.4'
```
### Lvy:
```lvy
<dependency org='com.king.zxing' name='zxing-lite' rev='1.0.3'>
<dependency org='com.king.zxing' name='zxing-lite' rev='1.0.4'>
<artifact name='$AID' ext='pom'></artifact>
</dependency>
```

View File

@@ -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"/>
<ImageView
android:id="@+id/ivFlash"
android:layout_width="wrap_content"

View File

@@ -77,8 +77,8 @@ public final class ViewfinderView extends View {
private final int cornerColor;
private final int resultPointColor;
private int scannerAlpha;
private final float textPadding;
private TextLocation textLocation;
private final float labelTextPadding;
private TextLocation labelTextLocation;
//扫描区域提示文本
private String labelText;
//扫描区域提示文本颜色
@@ -86,7 +86,7 @@ public final class ViewfinderView extends View {
private float labelTextSize;
public int scannerStart = 0;
public int scannerEnd = 0;
private boolean isShowResultPoint;
private boolean isShowResultPoint = true;
private List<ResultPoint> possibleResultPoints;
private List<ResultPoint> 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.left || point.getX()>frame.right ||
point.getY()<frame.top || 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);
}
}

View File

@@ -5,11 +5,11 @@
<attr name="cornerColor" format="color"/>
<attr name="laserColor" format="color"/>
<attr name="resultPointColor" format="color"/>
<attr name="text" format="string"/>
<attr name="textColor" format="color"/>
<attr name="textSize" format="dimension"/>
<attr name="textPadding" format="dimension"/>
<attr name="textLocation" format="enum">
<attr name="labelText" format="string"/>
<attr name="labelTextColor" format="color"/>
<attr name="labelTextSize" format="dimension"/>
<attr name="labelTextPadding" format="dimension"/>
<attr name="labelTextLocation" format="enum">
<enum name="top" value="0"/>
<enum name="bottom" value="1"/>
</attr>

View File

@@ -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