Я хотел бы попросить помощи. Я хочу сделать скриншот. Это работает, но закругленные углы ImageView не округляются на снятых скриншотах (и тени высот тоже отсутствуют). Я использовал
imageView.setClipToOutline(true);
чтобы это работало на телефоне, но на скриншотах они прямоугольные.
Вот мои скриншоты:
открытый класс 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;
}
Оба метода имеют одинаковый результат.
Однако я заметил, что если я выключу аппаратное ускорение, макет будет выглядеть так же, как на скриншотах.
Вот как это выглядит после снимка экрана:
Вот как это должно быть: