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 条码问题的主要内容,如果未能解决你的问题,请参考以下文章

Android studio怎么生成签名apk

什么会导致从 netbarcodewriter 库生成的 Code128 条码无法扫描?

拥有字体后,如何在 Adob​​e Forms 中自动生成 Code128?

Zebra EM 220,使用 Android 打印 Code 128 条码

Zxing Android 无法扫描 Code 128

怎样用code128条码制作器获得电能表二维码