您好,登錄后才能下訂單哦!
這個二維碼框架不僅使用的代碼少,而且可以生成帶圖片的二維碼,而且二維碼掃描界面也是先做好的,也比較好看。我們所需要做的就是在掃描二維碼后得到的數據對其進行操作。
使用方法
添加依賴
compile 'com.singleshu:ZxingPlus:1.1.4'
代碼
public class MainActivity extends AppCompatActivity { TextView test; ImageView imageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); test = (TextView) findViewById(R.id.test); imageView = (ImageView) findViewById(R.id.image1); //6.0加上動態權限申請,需要在外面Acitvity做申請 PermissionUtils.getInstance().requestPermission(this); } public void click(View view){ switch (view.getId()){ //生成二維碼 case R.id.score: imageView.setImageBitmap(QRCodeUtil.CreateTwoDCode(test.getText().toString())); break; //掃描二維碼 case R.id.scan: startActivity(new Intent(this,QRCodeScanAtivity.class)); break; //生成二維碼帶圖標,這和圖片大小相關,默認取3/4顯示 case R.id.scorewithlogo: imageView.setImageBitmap(QRCodeUtil.createWithLogo(test.getText().toString(), BitmapFactory.decodeResource(getResources(), R.drawable.timg))); break; //生成帶圖標二維碼,自設置大小 取 multipart/divisor顯示 case R.id.custom_scorewithlogo: imageView.setImageBitmap(QRCodeUtil.createWithLogo(test.getText().toString(), BitmapFactory.decodeResource(getResources(), R.drawable.timg),1,4)); break; } } }
public class QRCodeScanAtivity extends DefaultQRScanActivity { //對控件的自定義,可以修改隱藏默認控件 @Override protected void initCustomViewAndEvents() { } //掃描圖片結果解析回調 recode二維碼字符串 @Override protected void onAlbumResult(int requestCode, int resultCode, String recode) { Bundle bundle = new Bundle(); bundle.putString("result",recode); startActivity(new Intent(QRCodeScanAtivity.this,ResultActivity.class).putExtras(bundle)); finish(); } //二維碼圖片解析回調 rawResult 二維碼字符串 @Override protected void handleDecodeResult(String rawResult, Bundle bundle) { bundle.putString("result",rawResult); startActivity(new Intent(QRCodeScanAtivity.this,ResultActivity.class).putExtras(bundle)); finish(); } }
public class ResultActivity extends AppCompatActivity { TextView test2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_result); test2 = (TextView) findViewById(R.id.test2); if (getIntent() != null){ Bundle bundle = getIntent().getExtras(); String result = bundle.getString("result"); test2.setText(result); } } }
代碼真的不多,基本我們就只用去掉用和接受數據。
以上這篇Android ZxingPlus精簡的二維碼框架示例代碼就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。