代码之家  ›  专栏  ›  技术社区  ›  Julia

Android屏幕截图的位图布局

  •  0
  • Julia  · 技术社区  · 7 年前

    下面是代码的样子

     <RelativeLayout
     android:id="@+id/imageLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <ImageView
        android:id="@+id/imgPhoto"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
       />
    
    <ImageView
        android:id="@+id/imgBackground"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerInParent="true"
        android:layout_centerVertical="true"
        />
     </RelativeLayout>
    

            imageLayout.setDrawingCacheEnabled(true);
            imageLayout.buildDrawingCache();
            Bitmap mergedImage = imageLayout.getDrawingCache();
    

    代码运行良好,并且能够对这两个图像进行屏幕截图。然而,当我移动imgPhoto时,屏幕快照并不反映更改的位置。它仍然显示原始的未移动imgPhoto。我怎样才能解决这个问题?谢谢

    1 回复  |  直到 7 年前
        1
  •  1
  •   ezaquarii    7 年前

    重试之前,请尝试禁用图形缓存:

    imageLayout.setDrawingCacheEnabled(true);
    imageLayout.buildDrawingCache();
    Bitmap mergedImage = imageLayout.getDrawingCache();
    imageLayout.setDrawingCacheEnabled(false);
    

    您也可以使用 View.destroyDrawingCache() .