Android截图,截取不到AlertDialog?
阿神
阿神 2017-04-18 09:05:42
[Android讨论组]
private void screenshot1(String Strname)
   {
       /**
        * Strname--如  2.png  需要带后缀
        * */
       // 获取屏幕
       View dView = getWindow().getDecorView();
       dView.setDrawingCacheEnabled(true);
       dView.buildDrawingCache();
       Bitmap bmp = dView.getDrawingCache();
       if (bmp != null)
       {
           try {
               // 获取内置SD卡路径
               String sdCardPath = Environment.getExternalStorageDirectory().getPath();
               // 图片文件路径
 
               File filedir = new File(sdCardPath + File.separator + "AA");  // 这里的AA为创建的AA文件夹,在根目录下
               if (!filedir.exists()) {
                   filedir.mkdirs();
               }
               File saveFile = new File(filedir, Strname);  
               FileOutputStream outStream1 = new         FileOutputStream(saveFile);
               System.out.println(outStream1.toString());
               ByteArrayOutputStream stream = new ByteArrayOutputStream();
               bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
               byte[] byteArray = stream.toByteArray();
               outStream1.write(byteArray);
               outStream1.close();
               Toast.makeText(Zhuye_Activity.this,"截图保存成功",Toast.LENGTH_SHORT).show();
               dView.setDrawingCacheEnabled(false);  // 这里不设置false,那么下次截图还是上次的图片
           } catch (Exception e) {
           }
       }
   }

这个方不行……谁有解决方法?

阿神
阿神

闭关修行中......

全部回复(2)
伊谢尔伦

对于dialog,只能再截取一次dialog的视图,再叠加到activity视图bitmap上进行输出。

高洛峰

github 传送门: jraska/Falcon: Take Android screenshots with Falcons bright eye!

p.s. 这个解决方式也不完美, 底部导航的按钮没截进图.

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号