我的应用程序中有一个相对布局,我试图截取屏幕截图。问题是它中有CircularImageView(https://github.com/lopspower/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')。然后有一个FrameLayout,然后是两个LinearLayouts,一些ImageViews然后是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" />
知道会导致这件事发生的原因吗?
答案 0 :(得分:0)
到目前为止,我已经能够弄清楚bug必须与我正在使用的库有关。所以我试图想出一些其他方法来创建圆形图像,我从Waza_Be找到了这个答案:
https://stackoverflow.com/a/14180142/6148510
经过一些简短的测试后,这个圆形位图的截图正常工作。如果我的问题没有答案,我会将此解决方案标记为正确的答案。