Android 无法获取线性布局及其子视图的位图

Android 无法获取线性布局及其子视图的位图,android,view,bitmap,Android,View,Bitmap,我使用以下代码从线性布局创建位图 公共静态位图loadBitmapFromView(视图v){ 但我看不到里面的景色 我只能看到一个灰色的大屏幕 我也试过这个问题的答案,但仍然不起作用 我的观点被xml夸大了 当我使用上面提到的代码时,我得到了空指针异常的强制关闭 如果我提到宽度和高度,比如200,200,那么我只能看到灰色背景,而不能看到其中的视图。你需要在布局之前测量视图,比如 v.measure( MeasureSpec.makeMeasureSpec(v.getLayoutP

我使用以下代码从线性布局创建位图

公共静态位图loadBitmapFromView(视图v){

但我看不到里面的景色 我只能看到一个灰色的大屏幕

我也试过这个问题的答案,但仍然不起作用

我的观点被xml夸大了 当我使用上面提到的代码时,我得到了空指针异常的强制关闭
如果我提到宽度和高度,比如200,200,那么我只能看到灰色背景,而不能看到其中的视图。

你需要在布局之前测量视图,比如

v.measure(
      MeasureSpec.makeMeasureSpec(v.getLayoutParams().width,MeasureSpec.EXACTLY),
      MeasureSpec.makeMeasureSpec(v.getLayoutParams().height, MeasureSpec.EXACTLY));
v.layout(0, 0, v.getMeasuredWidth(), v.getMeasuredHeight());
Bitmap b = Bitmap.createBitmap(v.getWidth(), v.getHeight()
        ,Bitmap.Config.RGB_565);
Canvas c = new Canvas(b);
v.draw(c);

我在MeasureSpec.MakeMasureSpec(v.getLayoutParams().width,MeasureSpec.Justice)上遇到了一个nullpointer异常,您需要找到哪个变量是bull。最有可能的是“v”将为null。问题是我没有提到java中linearlayout的宽度和高度,但在xml中它现在可以工作了,非常感谢
v.measure(
      MeasureSpec.makeMeasureSpec(v.getLayoutParams().width,MeasureSpec.EXACTLY),
      MeasureSpec.makeMeasureSpec(v.getLayoutParams().height, MeasureSpec.EXACTLY));
v.layout(0, 0, v.getMeasuredWidth(), v.getMeasuredHeight());
Bitmap b = Bitmap.createBitmap(v.getWidth(), v.getHeight()
        ,Bitmap.Config.RGB_565);
Canvas c = new Canvas(b);
v.draw(c);