如题,如何获得整个屏幕的BitMap?也就是说包扩当前Activity上面的Title 和 Status Bar(电量和信号等一栏)。
关键如何获取它们整体的对象?
求指点
关键如何获取它们整体的对象?
求指点
解决方案 »
- 关于listview显示问题
- 给企业开发一个安卓软件和苹果软件,一般是什么价格?
- 关于memory的使用问题
- Android中,ucweb的下载是如何做到的?
- 请教关于安卓静态变量的问题
- 看看应该咋办?
- android studio DDMS debug process 无法激活,小虫子灰色
- 求android studio 下载地址,最好有中文的
- 双向侧拉 styleable 一直有横线 不知道怎么解决
- android 5.1 进入settings 需要输入密码 怎么实现
- 4.1Launcher界面循环滑动
- android客户端如何将存在arraylist中的多条数据,通过json上传到服务器端
下面是我的代码:
View view = getWindow().getDecorView();
view.setDrawingCacheEnabled(true);
view.buildDrawingCache();
bitmap = view.getDrawingCache();此时这个bitmap 是空的。你的例子可以正常跑么?
private static Bitmap takeScreenShot(Activity activity){
View view =activity.getWindow().getDecorView();
view.setDrawingCacheEnabled(true);
view.buildDrawingCache();
Bitmap bitmap = view.getDrawingCache();
Rect rect = new Rect();
activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);
int statusBarHeight = rect.top;
System.out.println(statusBarHeight);
int width =activity.getWindowManager().getDefaultDisplay().getWidth();
int height =activity.getWindowManager().getDefaultDisplay().getHeight();
Bitmap bitmap2 = Bitmap.createBitmap(bitmap,0,statusBarHeight, width, height - statusBarHeight);
view.destroyDrawingCache();
return bitmap2;
}
我是直接在Activity中调用的,应该没有问题啊!
竟然不能再OnCreate、onResume里用,必须启动个时钟,超时再截屏才行
哥们,你没理解啊,在create 之前 view 是正在创建,对象你是拿到了,但是视图不存在,只有在之后的生命周期才能得到view的视图