Android studio Android Studio生成的PDF未正确显示可绘制内容

Android studio Android Studio生成的PDF未正确显示可绘制内容,android-studio,pdf,android-drawable,Android Studio,Pdf,Android Drawable,我正在尝试在我的Android Studio应用程序中生成PDF文件。大部分情况下,它工作正常,但我有一个问题,即抽屉没有出现。我不确定它们是否根本没有出现,或者它们是否以白色显示。我试过把颜色改成黑色,但没用。我不知道这是我做错了什么,还是一个已知的问题。还有谁见过它吗 PDF是这样生成的: // Create PDF document PdfDocument document = new PdfDocument(); // Create page description PdfDocumen

我正在尝试在我的Android Studio应用程序中生成PDF文件。大部分情况下,它工作正常,但我有一个问题,即抽屉没有出现。我不确定它们是否根本没有出现,或者它们是否以白色显示。我试过把颜色改成黑色,但没用。我不知道这是我做错了什么,还是一个已知的问题。还有谁见过它吗

PDF是这样生成的:

// Create PDF document
PdfDocument document = new PdfDocument();
// Create page description
PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(content.getWidth(), content.getHeight(), 1).create();

// Start first page - pattern details and chart
PdfDocument.Page page = document.startPage(pageInfo);
content.draw(page.getCanvas());
// Finish page
document.finishPage(page);
        String drawableName = "kps_" + thisSymbol.getSymbolBaseName();
        final int resourceId = resources.getIdentifier(drawableName, "drawable", context.getPackageName());
        Drawable d;
        if(resourceId != 0) {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                d = resources.getDrawable(resourceId, context.getTheme());
            } else {
                d = resources.getDrawable(resourceId);
            }
            thisCell.setDrawable(d);
        }
Cell类的onDraw函数是:

   protected void onDraw(Canvas canvas) {

        float height = canvas.getHeight();
        float width = canvas.getWidth();

        paint.setColor(0xff000000);
        paint.setStrokeWidth(1);
        paint.setStyle(Paint.Style.STROKE);
        canvas.drawRect(1, 1, width-1, height-1, paint);

        // Drawable has been set up already, as listed below
        if(drawable != null) {
            int b_width = (int) (width - 1);
            int b_height = (int) (height - 1);
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                if (mode == MODE_KEY) drawable.setTint(Color.BLACK);
            }
            drawable.setBounds(1, 1, b_width, b_height);
            drawable.draw(canvas);
        }
    }
可牵引装置的设置如下:

// Create PDF document
PdfDocument document = new PdfDocument();
// Create page description
PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(content.getWidth(), content.getHeight(), 1).create();

// Start first page - pattern details and chart
PdfDocument.Page page = document.startPage(pageInfo);
content.draw(page.getCanvas());
// Finish page
document.finishPage(page);
        String drawableName = "kps_" + thisSymbol.getSymbolBaseName();
        final int resourceId = resources.getIdentifier(drawableName, "drawable", context.getPackageName());
        Drawable d;
        if(resourceId != 0) {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                d = resources.getDrawable(resourceId, context.getTheme());
            } else {
                d = resources.getDrawable(resourceId);
            }
            thisCell.setDrawable(d);
        }
行“thisCell.setDrawable(d)”用于将drawable传递给Cell类;这也会使单元格无效,导致其重新绘制

有什么建议吗?还是有更好的方法