采取适当的截图

Take proper screenshot

我想寻求帮助。我想截屏。这是有效的,但 ImageView 的圆角在截取的屏幕截图上不是圆角的(并且也缺少高程阴影)。我用了

imageView.setClipToOutline(true);

让这个在 phone 上工作,但在屏幕截图上它们是矩形的。

这些是我的截图工具:

public class ScreenShotUtils {

public static Bitmap screenShotFromCanvas(View view) {
    Bitmap bitmap = Bitmap.createBitmap(view.getWidth(),
            view.getHeight(), Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(bitmap);
    view.draw(canvas);
    return bitmap;
}

public static Bitmap screenShotFromDrawingCache(View view) {
    view.setDrawingCacheEnabled(true);
    view.buildDrawingCache();

    Bitmap bitmap = Bitmap.createBitmap(view.getDrawingCache());

    view.destroyDrawingCache();
    view.setDrawingCacheEnabled(false);

    return bitmap;
}

两种方法的结果相同。

但是我注意到,如果我关闭硬件加速,布局看起来和屏幕截图上的一样。

截图后是这样的:

应该是这样的:

最后我用 MediaProjectionManager 解决了我的问题。