当前位置:  开发笔记 > Android > 正文

将布局保存为位图

如何解决《将布局保存为位图》经验,为你挑选了1个好方法。

我想将我的Linearlayout保存为bmp.



        

        

            

            

            

        

        

            

            

            
        

    

因此,我使用以下代码执行此操作:

        public Bitmap viewToBitmap(View view) {
            Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
            Canvas canvas = new Canvas(bitmap);
            view.draw(canvas);
            return bitmap;
        }

但如果我运行此代码,我的位图只包含ImageView(ImageView_qrcode).我检查了一下.如果我给Linearview充气TextViews正确显示,但输出bmp只包含ImageView有人知道的原因吗?



1> ArtKorchagin..:

你可以尝试这个解决方案:

public static Bitmap getBitmapFromView(View view) {
    Bitmap returnedBitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(),Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(returnedBitmap);
    Drawable bgDrawable =view.getBackground();
    if (bgDrawable!=null) {
    bgDrawable.draw(canvas);
    } else {
        canvas.drawColor(Color.WHITE);
    }
    view.draw(canvas);
    return returnedBitmap;
}

有绘图缓存的解决方案:

public Bitmap getBitmapFromView(View view){
    view.setDrawingCacheEnabled(true);
    return view.getDrawingCache();
}

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有