如何在Android中将View转换为Bitmap?

sra*_*thi 4 android android-widget android-layout

我正在使用以下行将视图转换为android中的位图.

view.setDrawingCacheEnabled(true);
Bitmap b= view.getDrawingCache(); 
Run Code Online (Sandbox Code Playgroud)

当我转换为Bitmap时,我在视图中有价值,它显示位图值null.

小智 6

活动类在此类中,我将布局(视图)转换为图像.

import android.os.Bundle;
import android.app.Activity;
import android.graphics.Bitmap;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.LinearLayout;

public class ImageActivity extends Activity {

    LinearLayout layout=null;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_convert);
        layout=(LinearLayout)findViewById(R.id.layout);
        ((ImageView)findViewById(R.id.ImageView01)).setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Bitmap map=ConvertToBitmap(layout);
                Log.v("BitmapObject", map.toString());
            }
        });       
    }

    protected Bitmap ConvertToBitmap(LinearLayout layout) {
        Bitmap map;
        layout.setDrawingCacheEnabled(true);
        layout.buildDrawingCache();
        return map=layout.getDrawingCache();
    }
}
Run Code Online (Sandbox Code Playgroud)