【问题标题】:Print a screen having ScrollView in android在android中打印具有ScrollView的屏幕
【发布时间】:2015-12-07 11:41:51
【问题描述】:

我正在制作一个APP,其中包含图像的GridLayout 与一个打印按钮一起显示在屏幕上,以打印整个Layout。对于打印,我使用以下代码:

 PrintHelper printHelper = new PrintHelper(this);
    printHelper.setScaleMode(PrintHelper.SCALE_MODE_FIT);
    printHelper.printBitmap("Print Bitmap", bitmap);

上面使用的位图取自以下代码:

mView.setDrawingCacheEnabled(true);
mView.buildDrawingCache(true);
Bitmap bitmap = Bitmap.createBitmap(mView.getDrawingCache());
mView.setDrawingCacheEnabled(false);

但是,我在上面的代码中遇到了问题,仅使屏幕上显示的视图成为Bitmap,而不是滚动页面后出现的视图。我知道不可能对尚未渲染的内容进行屏幕截图。然后请建议我需要做什么才能打印。除了我使用的上述方法之外,还有其他打印解决方案吗?

【问题讨论】:

    标签: android printing bitmap screenshot


    【解决方案1】:

    您可以尝试使用Scrollview。

     public Bitmap getBitmapFromView(ScrollView view) {
                Log.e("width", String.valueOf(view.getChildAt(0).getWidth()));
                Log.e("getHeight", String.valueOf(view.getChildAt(0).getHeight()));
                Bitmap bitmap = Bitmap.createBitmap(
                        view.getChildAt(0).getWidth(),
                        view.getChildAt(0).getHeight(), Bitmap.Config.ARGB_8888);
                Canvas c = new Canvas(bitmap);
                view.getChildAt(0).draw(c);
    
                return bitmap;
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-12
      • 1970-01-01
      相关资源
      最近更新 更多