Android快速SDK(15)二维码扫描Scanner【傻瓜模式】
16lz
2022-05-19
代码:http://download.csdn.net/detail/huangbin95487710/9260261
依赖包模式
完整运行还需要用到以下依赖包
- Android快速SDK(4)对话框AlertDialog
基于zxing.jar库升级封装成傻瓜模式
- 二维码启动类,请复制到目标项目
package cn.whonow.whonow.scanner;import General.Scanner.Decoding.Scanner;import android.app.Activity;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.TextView;import cn.whonow.whonow.R;/** * 初始化二维码拍照 * * @author HuangYi QQ:95487710 */public class ScannerActivity extends Activity {public static void startScannerActivity(Context context) {Intent intent = new Intent();intent.setClass(context, ScannerActivity.class);context.startActivity(intent);}public static void startScannerActivity(Context context, int mStyles) {Intent intent = new Intent();intent.putExtra(KEY_STYLES, mStyles);intent.setClass(context, ScannerActivity.class);context.startActivity(intent);}public static void startScannerActivity(Context context, int mStyles,int mLayoutID) {Intent intent = new Intent();intent.putExtra(KEY_STYLES, mStyles);intent.putExtra(KEY_LAYOUT, mLayoutID);intent.setClass(context, ScannerActivity.class);context.startActivity(intent);}private static final String KEY_STYLES = "key_styles";private static final String KEY_LAYOUT = "key_layout";private Scanner mScanner;private int mStylesId;private int mLayoutId;/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);Bundle mBundle = getIntent().getExtras();if (mBundle != null) {mStylesId = mBundle.getInt(KEY_STYLES, -1);mLayoutId = mBundle.getInt(KEY_LAYOUT, -1);}if (mLayoutId > 0)setContentView(mLayoutId);elsesetContentView(R.layout.test_scanner);mScanner = new Scanner(this, mStylesId);TextView open = (TextView) findViewById(R.id.scanner_open);if (open != null) {open.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubmScanner.openCamera();}});}TextView close = (TextView) findViewById(R.id.scanner_close);if (close != null) {close.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubmScanner.closeCamera();}});}}@Overrideprotected void onResume() {super.onResume();if (mScanner != null) {mScanner.onResume();}}@Overrideprotected void onPause() {super.onPause();if (mScanner != null) {mScanner.onPause();}}@Overrideprotected void onDestroy() {if (mScanner != null) {mScanner.onDestroy();}super.onDestroy();}}
- 属性
- 设置摄像头视角宽与高
- 设置摄像头视野外背景
- 设置摄像头边框
- 设置扫描线颜色
- 设置扫描线高度
- 设置扫描线移动速度
- 设置摄像头是否全屏
- 设置摄像头摄像比例
- 支持远近镜头扫描
- 默认样式
- AndroidManifest.xml添加配置
- 添加混淆,详见依赖包proguard.cfg
- 复制以下的XML文件到目标项目,在保持ID不变下,可任意更改界面
<?xml version="1.0" encoding="utf-8"?>
- 代码示例
- 布局
<?xml version="1.0" encoding="utf-8"?>
- 自定义样式
<?xml version="1.0" encoding="utf-8"?>
- 代码
package cn.whonow.whonow.scanner;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import cn.whonow.whonow.R;/** * 二维码扫描测试 * * @author HuangYi QQ:95487710 */public class ScannerMainActivity extends Activity {/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.test_scanner_main);Button button1 = (Button) findViewById(R.id.button1);button1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {ScannerActivity.startScannerActivity(ScannerMainActivity.this);}});Button button2 = (Button) findViewById(R.id.button2);button2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// 更改摄像样式ScannerActivity.startScannerActivity(ScannerMainActivity.this,R.style.MyDivScannerCamera);}});Button button3 = (Button) findViewById(R.id.button3);button3.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// 更改边框样式ScannerActivity.startScannerActivity(ScannerMainActivity.this,-1, R.layout.test_scanner_div);}});}}
- 效果图
更多相关文章
- Android中有用的组件被选中和按下去的变换样式
- 关于设置activity样式
- 【译】Android(安卓)多媒体扫描过程(Android(安卓)Media Scanner
- android常用样式
- Eclipse 默认打开Android(安卓)xml 布局
- Android(安卓)TextInputLayout 使用及其属性
- Android实现为GridView添加边框效果
- android 加边框
- Android多媒体扫描过程(Android(安卓)Media Scanner Prosess)