Android Studio 生成 Code128 条码问题
Posted
技术标签:
【中文标题】Android Studio 生成 Code128 条码问题【英文标题】:Android Studio generating Code128 barcode question 【发布时间】:2021-12-10 23:33:57 【问题描述】:我正在尝试根据此网站执行 Code128 教程: http://www.onbarcode.com/products/android_barcode/barcodes/code_128.html,但我不知道如何显示条形码。
这是Java代码:
public class MainActivity extends AppCompatActivity
private ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = findViewById(R.id.imageView2);
class Test extends View
public Test(Context context)
super(context);
@Override
protected void onDraw(Canvas canvas)
Code128 barcode = new Code128();
barcode.setData("112233445566");
barcode.setProcessTilde(false);
barcode.setUom(IBarcode.UOM_PIXEL);
barcode.setX(1f);
barcode.setY(75f);
barcode.setLeftMargin(10f);
barcode.setRightMargin(10f);
barcode.setTopMargin(10f);
barcode.setBottomMargin(10f);
barcode.setResolution(72);
barcode.setShowText(true);
barcode.setTextFont(new AndroidFont("Arial", Typeface.NORMAL, 12));
barcode.setTextMargin(6);
barcode.setTextColor(AndroidColor.black);
barcode.setForeColor(AndroidColor.black);
barcode.setBackColor(AndroidColor.white);
RectF bounds = new RectF(30, 30, 0, 120);
try
barcode.drawBarcode(canvas, bounds);
// imageView.setImageBitmap(barcode);
catch (Exception e)
e.printStackTrace();
我应该用什么方法来显示条码?
【问题讨论】:
【参考方案1】:1)在自己的文件中使该内部视图类成为自己的单独类。
2) 提供所有 3 个必需的构造函数,而不仅仅是一个。
3) 将该视图添加到您的布局中。
应该够了。虽然如果您想要一个真正的 BarcodeView 类,您显然会想要添加一个 setBarcode 函数,该函数将 Code128 作为参数,在内部保存它,使视图无效,并让 onDraw 使用该条形码函数。
【讨论】:
嘿兄弟,你能帮我写代码吗?我只需要显示条形码,稍后我将在文件中创建单独的类等,但我现在只需要显示代码。 我不明白 3 个构造函数部分。请帮助兄弟 视图有 3 个构造函数。你只实现了一个。只有当您以编程方式创建视图并以某种方式将其添加到根视图时,该方法才有效。如果你想通过xml访问它,你需要添加另外两个。此外,如果您将其保留为内部类,则它必须是静态内部类。以上是关于Android Studio 生成 Code128 条码问题的主要内容,如果未能解决你的问题,请参考以下文章
什么会导致从 netbarcodewriter 库生成的 Code128 条码无法扫描?
拥有字体后,如何在 Adobe Forms 中自动生成 Code128?