Android 带有圆形图像视图的布局截图使图像被剪切

Android 带有圆形图像视图的布局截图使图像被剪切,android,android-layout,android-bitmap,Android,Android Layout,Android Bitmap,我有一个相对的布局在我的应用程序,我试图采取截图。问题是它包含CircularImageView(),整个图像被转换,不再裁剪到中心 代码如下所示: View rl = findViewById(R.id.toBeScreenShot); rl.setDrawingCacheEnabled(true); Bitmap screenshot = Bitmap.createBitmap(rl.getWidth(),rl.getHeight(), Bitmap.Config.ARGB_8888); C

我有一个相对的布局在我的应用程序,我试图采取截图。问题是它包含CircularImageView(),整个图像被转换,不再裁剪到中心

代码如下所示:

View rl = findViewById(R.id.toBeScreenShot);
rl.setDrawingCacheEnabled(true);
Bitmap screenshot = Bitmap.createBitmap(rl.getWidth(),rl.getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(screenshot);
rl.draw(c);
rl.setDrawingCacheEnabled(false);
这就是结果:

XML代码太大,无法共享,有一个我截图的相对布局(在代码中,是“rl”)。然后是一个框架布局,然后是两个线性布局,一些图像视图,然后是CircularImageView:

<com.mikhaellopez.circularimageview.CircularImageView
    android:id="@+id/userPicture"
    android:layout_width="@dimen/_120sdp"
    android:layout_height="@dimen/_130sdp"
    android:layout_gravity="center"
    app:civ_border="false" />


知道是什么原因导致了这种情况吗?

到目前为止,我已经发现这个错误一定与我正在使用的库有关。因此,我试图找出其他方法来创建圆形图像,我从Wazau_Be那里找到了这个答案:


经过一些简短的测试,这个圆形位图的屏幕截图工作正常。如果我的问题没有答案,我会将此解决方案标记为正确答案。

到目前为止,我已经能够找出该错误一定与我正在使用的库有关。因此,我试图找出其他方法来创建圆形图像,我从Wazau_Be那里找到了这个答案:


经过一些简短的测试,这个圆形位图的屏幕截图工作正常。如果我的问题没有答案,我会将此解决方案标记为正确答案。

请同时发布您的xml代码。您从一个完全可见的CircularImageView开始,最后看到的是此图像?完全正确。通常情况下,该图片被裁剪到中间,这意味着我的头部位于第三个表情符号(:-O)的上方。请同时发布您的xml代码。您从一个完全可见的CircularImageView开始,然后以该图像结束?没错。通常情况下,这张图片被裁剪到中间,这意味着我的头在第三个表情(:-O)的上方。当然,正如你在自己报告的链接中所看到的,你应该使用宽度/2和高度/2如果/2是解决方案,请写一个答案,我会投票赞成。不,CircularImageView自己进行除法,另外,如果您注意到图片上的1/4圆并不是一个完整的四分之一。当然,正如你在自己报告的链接中所看到的,你应该使用宽度/2和高度/2如果/2是解决方案,请写一个答案,我会投票支持它。不,CircularImageView自己进行分割,另外,如果您注意到图片上的1/4圆并不是一个完整的四分之一。虽然距离很近,但将其中4个放在一起不会形成一个完美的圆圈。