代码:http://download.csdn.net/detail/huangbin95487710/9260261

依赖包模式

完整运行还需要用到以下依赖包

  • Android快速SDK(4)对话框AlertDialog

基于zxing.jar库升级封装成傻瓜模式

  1. 二维码启动类,请复制到目标项目
    • 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();}}

  2. 属性
    • 设置摄像头视角宽与高
    • 设置摄像头视野外背景
    • 设置摄像头边框
    • 设置扫描线颜色
    • 设置扫描线高度
    • 设置扫描线移动速度
    • 设置摄像头是否全屏
    • 设置摄像头摄像比例
    • 支持远近镜头扫描
    •                                                                                                                                                                                                                                                                                                                                                                                                                         

    • 默认样式
    •      
  3. AndroidManifest.xml添加配置
    •                                                         

  4. 添加混淆,详见依赖包proguard.cfg
  5. 复制以下的XML文件到目标项目,在保持ID不变下,可任意更改界面
    • <?xml version="1.0" encoding="utf-8"?>                                                

  6. 代码示例
    • 布局
    • <?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);}});}}

  7. 效果图
    • Android快速SDK(15)二维码扫描Scanner【傻瓜模式】_第1张图片

更多相关文章

  1. Android中有用的组件被选中和按下去的变换样式
  2. android常用样式
  3. 关于设置activity样式
  4. android摄像头调用资料收集
  5. Android之USB Camera摄像头节点后移
  6. Android 下拉加载更多 上拉刷新 框架 (太极 八卦样式刷新,支持自定
  7. Android实现为GridView添加边框效果

随机推荐

  1. Android监控软键盘变化实例
  2. Android(安卓)应用获取通知栏权限
  3. Android中Preference的使用以及监听事件
  4. Android(安卓)之 Dialog复选框获取值
  5. android 报错集锦
  6. Android中webview的使用
  7. 源码开发-小结
  8. Google Android's Gingerbread Update Co
  9. [zt]获取android联系人信息
  10. FloatingActionButton