如题,如何获得整个屏幕的BitMap?也就是说包扩当前Activity上面的Title 和 Status Bar(电量和信号等一栏)。
关键如何获取它们整体的对象?
求指点
关键如何获取它们整体的对象?
求指点
解决方案 »
- 安卓 怎么修改文件的属性呀。
- 关于我的socket编程问题
- Activity中显示多个listview
- android手机做服务器端,pc做客户端,通过USB基于socket连接,怎么从手机sdcard的相册目录把所有图片全部保存到pc客户端
- 修改屏幕分辨率
- 我想开始学习Linux网络编程和android开发,希望大家给点指点!
- 每个应用程序的package都不能重复?
- 关于ListView的selector问题
- 自定义的分享功能,点击分享按钮后,要等一段时间才能将对话框显示出来,如何解决?
- 可否用win平台读写system文件夹
- 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的视图