Java Android如何在截图中捕捉阴影

Java Android如何在截图中捕捉阴影,java,android,screenshot,shadow,Java,Android,Screenshot,Shadow,如何在屏幕截图中捕获活动布局中视图的阴影或立面。此代码为视图截图,但此处不显示viewsenter图像描述的阴影 View screenView = parentMain; screenView.buildDrawingCache(); screenView.setDrawingCacheEnabled(true); Bitmap bitmap = Bitmap.createBitmap(screenView.getWidth() , screenView.getHeig

如何在屏幕截图中捕获活动布局中视图的阴影或立面。此代码为视图截图,但此处不显示viewsenter图像描述的阴影

View screenView = parentMain;
    screenView.buildDrawingCache();
    screenView.setDrawingCacheEnabled(true);
    Bitmap bitmap = Bitmap.createBitmap(screenView.getWidth() , screenView.getHeight(), Bitmap.Config.ARGB_8888);
    Canvas c = new Canvas(bitmap);
    screenView.layout(0, 0, screenView.getLayoutParams().width, screenView.getLayoutParams().height);
    screenView.draw(c);
    screenView.setDrawingCacheEnabled(false);
    fakeImgView.setImageBitmap(bitmap);
即使我们在活动级别添加硬件加速,它也不会提供任何效果

赞赏任何替代方法

结果

试试这个

CardView card = (CardView) findViewById(R.id.card);
现在只需将卡传递给CaptureScreen shot()。它返回位图并保存该位图saveImage()

您可以传递任何视图,如RelativeLayout、LinearLayout等。任何视图都可以传递到captureScreenShot()

最后像这样调用这个函数

saveImage(captureScreenShot(card));
File file = new  File(“yourImageFilePath”);
if(file.exists())
{
    yourImageView.setImageURI(Uri.fromFile(file));
}
现在像这样设置您的图像

saveImage(captureScreenShot(card));
File file = new  File(“yourImageFilePath”);
if(file.exists())
{
    yourImageView.setImageURI(Uri.fromFile(file));
}
注意:如果setImageURI()不工作,则可以使用以下代码

File file = new  File(“yourImageFilePath”);
if(file.exists())
{
  Bitmap bitmap = BitmapFactory.decodeFile(file.toString());
  yourImageView.setImageBitmap(bitmap);
}

尝试将您的图像保存在存储目录中,然后将该图像设置为图像视图。请参阅我的答案,先生,希望这对您有所帮助。@commonware请帮助找到解决方案?