安卓版的Zxing在生成QR码时,本身不提供显式的纠错等级设置功能,但改几个地方就能轻松实现。
QR码的4个纠错等级不想在多叙述,不明白的朋友可以参考其他文章。本文主要介绍如何完成安卓下设置QR码的4个纠错等级。
界面上,用一个RadioGroup包含4个RadioButton来表示四个纠错等级,这里直接用一个全局的String来保存errorlevels,当然可以直接使用int类型(建议使用int,还没改):
//RadioGroup控件,纠错等级改变的监听
@Override
public void onCheckedChanged(RadioGroup arg0, int checkedId) {
// TODO Auto-generated method stub
if (ErrorLevel_l.getId() == checkedId) {
errorlevels = "7%";
Toast.makeText(MainActivity.this, "容错率设为:7%", Toast.LENGTH_SHORT).show();
} else if (ErrorLevel_m.getId() == checkedId) {
errorlevels = "15%";
Toast.makeText(MainActivity.this, "容错率设为:15%", Toast.LENGTH_SHORT).show();
} else if (ErrorLevel_q.getId() == checkedId) {
errorlevels = "25%";
Toast.makeText(MainActivity.this, "容错率设为:25%", Toast.LENGTH_SHORT).show();
} else if (ErrorLevel_h.getId() == checkedId) {
errorlevels = "30%";
Toast.makeText(MainActivity.this, "容错率设为:30%", Toast.LENGTH_SHORT).show();
}
}
布局: