实现步骤:
1. 倒 libzxing
2.
include ':app','libzxing'
3. 添加到类库
4.添加依赖
//布局文件
<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FFF" android:scrollbars="none"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:id="@+id/tv_scan_result" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="15dp" android:text="显示扫描结果字符串" /> <Button android:id="@+id/btn_scan_barcode" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_margin="10dp" android:text="扫描二维码" /> <EditText android:id="@+id/et_qr_string" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="text" android:padding="15dp" /> <ImageView android:id="@+id/iv_qr_image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:contentDescription="@null" android:padding="10dp" android:src="@mipmap/ic_launcher" /> <CheckBox android:id="@+id/logo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="15dp" android:text="是否显示logo(图片)" /> <Button android:id="@+id/btn_add_qrcode" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_margin="10dp" android:text="生成二维码" /> </LinearLayout> </ScrollView>
//java核心代码
private TextView resultTextView; private EditText qrStrEditText; private ImageView qrImgImageView; private CheckBox mCheckBox; private Button scanBarCodeButton; private Button generateQRCodeButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); resultTextView = (TextView) this.findViewById(R.id.tv_scan_result); qrStrEditText = (EditText) this.findViewById(R.id.et_qr_string); qrImgImageView = (ImageView) this.findViewById(R.id.iv_qr_image); mCheckBox = (CheckBox) findViewById(R.id.logo); scanBarCodeButton = (Button) this.findViewById(R.id.btn_scan_barcode); generateQRCodeButton = (Button) this.findViewById(R.id.btn_add_qrcode); //点击生成二维码 generateQRCodeButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String contentString = qrStrEditText.getText().toString(); // 根据字符串生成二维码图片并显示在界面上,第二个参数为图片的大小(350*350) Bitmap qrCodeBitmap = EncodingUtils.createQRCode("cccccccccccc", 350, 350, mCheckBox.isChecked() ? BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher) : null); qrImgImageView.setImageBitmap(qrCodeBitmap); } });