Take a screenshot of a whole View [duplicate] Take a screenshot of a whole View [duplicate] android android

Take a screenshot of a whole View [duplicate]


Actually I found the answer:

public static Bitmap loadBitmapFromView(View v) {    Bitmap b = Bitmap.createBitmap(v.getWidth() , v.getHeight(), Bitmap.Config.ARGB_8888);                    Canvas c = new Canvas(b);    v.draw(c);    return b;}


  ScrollView iv = (ScrollView) findViewById(R.id.scrollView);  Bitmap bitmap = Bitmap.createBitmap(        iv.getChildAt(0).getWidth(),         iv.getChildAt(0).getHeight(),         Bitmap.Config.ARGB_8888);  Canvas c = new Canvas(bitmap);  iv.getChildAt(0).draw(c);  // Do whatever you want with your bitmap  saveBitmap(bitmap);


Using @softwaresupply answer causes problem in my case where my view was getting redrawn and getting completely white. There is an easier solution to get screenshot where you don't even have to supply width and height as parameters. Use Drawing Cache.

public static Bitmap loadBitmapFromView(View v) {    Bitmap bitmap;    v.setDrawingCacheEnabled(true);    bitmap = Bitmap.createBitmap(v.getDrawingCache());    v.setDrawingCacheEnabled(false);    return bitmap;}