Home > front end >  Convert layout to bitmap?
Convert layout to bitmap?

Time:09-29

How do I convert the following layout to a bitmap?

I tried using Kotlin's view.drawToBitmap() but it only applies to views and not layouts.

            <LinearLayout
                android:id="@ id/layout"
                android:layout_width="200dp"
                android:layout_height="wrap_content"
                android:orientation="vertical">

            <TextView
                android:id="@ id/tv1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"/>

            <TextView
                android:id="@ id/tv2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

            </LinearLayout>

CodePudding user response:

Pass your view into viewToBitmap(view)

private Bitmap viewToBitmap(LinearLayout view) {
            try {
               // create bitmap screen capture
                view.setDrawingCacheEnabled(true);
                Bitmap bitmap = Bitmap.createBitmap(view.getDrawingCache());
                view.setDrawingCacheEnabled(false);
                return bitmap;
            } catch (Throwable e) {
                e.printStackTrace();
                Log.e(TAG, "takeScreenshot: Throwable: " e.getMessage() );
                return null;
            }
        }
  • Related