Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

ray00178/RZScan

Repository files navigation

RZScan

The RZScan for android to scan code or encode/decode library. And usage:

  • Support for scanning most barcodes.
  • For 6.0 or later, The permissions have been handled very well,So don't worry about their own.
  • According to your project color, Setting ur StatusBarColor、ToolBarColor.
  • In Activity or Frangment, Can support the use.
  • You can customize the size of the scan frame、color or describe the text.

Screenshots

Demo_gif Demo_gif

Gradle

compile 'com.rayzhang.android:rzscan:1.0.0'

Maven

<dependency>
 <groupId>com.rayzhang.android</groupId>
 <artifactId>rzscan</artifactId>
 <version>1.0.0</version>
 <type>pom</type>
</dependency>

Usage

1.Androidmanifest.xml, Add the following code.

<!-- android:theme = Set according to your style
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
 <item name="colorPrimary">@color/colorPrimary</item>
 <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
 <item name="colorAccent">@color/colorAccent</item>
</style>

<style name="AppNoActionBar" parent="AppTheme">
 <item name="windowActionBar">false</item>
 <item name="windowNoTitle">true</item>
</style> -->
<activity
 android:name="com.rayzhang.android.rzscan.CaptureActivity"
 android:configChanges="orientation|keyboardHidden|screenSize"
 android:screenOrientation="portrait"
 android:theme="@style/AppNoActionBar"
 android:windowSoftInputMode="stateAlwaysHidden|stateHidden" />

2.Androidmanifest.xml, Add the following permissions.

 <uses-permission android:name="android.permission.CAMERA" />
 <uses-permission android:name="android.permission.FLASHLIGHT" />
 <uses-permission android:name="android.permission.VIBRATE" />
 <uses-feature android:name="android.hardware.camera" />
 <uses-feature android:name="android.hardware.camera.any" />

3.Use RZScan. There are many ways to call.

/**
 * @param ofAppName : (required)
 * @param showStatusBar : (choose) (default:true) 
 * @param setStatusBarColor : (choose) (default:#000000) 
 * @param setToolBarColor : (choose) (default:transparent)
 * @param setToolBarTitleColor : (choose) (default:#ffffff)
 * @param setToolBarTitle : (choose) (default:RZZxingScan)
 * @param setDialogIcon : (choose)
 * @param setScanFrameSize : (choose) (default:250dp,250dp)
 * @param setScanBorderColor : (choose) (default:#ffff00)
 * @param setScanBorderWidth : (choose) (default:15px)
 * @param setScanBorderLength : (choose) (default:65px)
 * @param setDescriptionColor : (choose) (default:#808080)
 * @param setDescriptionOffSetTop : (choose) (default:10dp)
 * @param setDescriptionSize : (choose) (default:10sp)
 * @param start : (required)
 */
 RZScan.ofAppName("RZScan")
 .start(this, REQUEST_RZSCAN);
 /**
 * Or Like this
 */
 RZScan.ofAppName("RZScan")
 .showStatusBar(false)
 .setStatusBarColor(Color.argb(255, 255, 255, 0))
 .setToolBarColor(Color.argb(255, 255, 255, 0))
 .setToolBarTitleColor(Color.argb(255, 255, 255, 255))
 .setToolBarTitle("QRCode Scan")
 .setDialogIcon(R.drawable.ic_bar_code_30dp)
 .setScanFrameSize(new int[]{215, 215})
 .setScanBorderColor(Color.argb(255, 0, 153, 51))
 .setScanBorderWidth(5)
 .setScanBorderLength(40)
 .setDescriptionColor(Color.argb(255, 38, 38, 38))
 .setDescriptionOffSetTop(20f)
 .setDescriptionSize(16f)
 .start(this, REQUEST_RZSCAN);

4.Override Activity's/Fragment's onActivityResult method.

@Override
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
 if (resultCode == RESULT_OK) {
 switch (requestCode) {
 case REQUEST_RZSCAN:
 String result = RZScan.getResult(data);
 Log.d("RZScan", "Result:" + result);
 break;
 }
 }
 }

5.If you want to make a barcode, you can do that.

 /*
 * Barcode format : 
 * AZTEC, CODABAR, CODE_39, CODE_93, CODE_128, DATA_MATRIX, EAN_8, EAN_13,
 * ITF, PDF_417, QR_CODE, UPC_A, UPC_E
 */
 // No logo
 mImgCode1.setImageBitmap(RZScan.ENCODE("Hello I'm Ray.", 400, 200, null, BarcodeFormat.QR_CODE));
 // Have logo
 Bitmap logo = BitmapFactory.decodeResource(getResources(), R.drawable.ic_bar_code_30dp);
 mImgCode2.setImageBitmap(RZScan.ENCODE("Hello I'm Ray.", 400, 200, logo, BarcodeFormat.QR_CODE));

6.If you want to decode barcode, you can do that.

 RZScan.DECODE(filePath, new AnalyzeCallback() {
 @Override
 public void onAnalyzeSuccess(Bitmap mBitmap, String result) {
 Log.d(TAG, "Result:" + result);
 }
 @Override
 public void onAnalyzeFailed() {
 Log.d(TAG, "Result:Sorry! can' decode.");
 }
 });

7.If you want to customize the description text or dialog title、description, please overwrite the following names in strings.xml.

 <string name="rzscan_description">Enter something that u want</string>
 <string name="rzscan_dia_title">Enter something that u want</string>
 <string name="rzscan_dia_description">Enter something that u want</string>
 <string name="rzscan_dia_ok">Enter something that u want</string>
 <string name="rzscan_dia_cancel">Enter something that u want</string>

Notice

This library references the following categories library.

// Google ZXing 
compile 'com.google.zxing:core:3.3.0'

License

Copyright 2017 RayZhang
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
 http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Chinese description

中文說明

About

This is a easy and simple to scan code library for android. (Warning !! The project will not maintain. 🙇🏻‍♂️)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /