Android抓屏源码
16lz
2021-12-04
import java.io.FileOutputStream;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.Rect;import android.view.View;public class Screenshots {private static Bitmap takeScreenShot(Activity a) {View view = a.getWindow().getDecorView();view.setDrawingCacheEnabled(true);view.buildDrawingCache();Bitmap b1 = view.getDrawingCache();Rect frame = new Rect();a.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);int statusBarHeight = frame.top;int width = a.getWindowManager().getDefaultDisplay().getWidth();int height = a.getWindowManager().getDefaultDisplay().getHeight();// 删除标题栏Bitmap b = Bitmap.createBitmap(b1, 0, statusBarHeight, width, height - statusBarHeight);view.destroyDrawingCache();return b;}private static void savePic(Bitmap b, String strFileName) {FileOutputStream fos = null;try {fos = new FileOutputStream(strFileName);if (null != fos) {b.compress(Bitmap.CompressFormat.PNG, 90, fos);fos.flush();fos.close();}} catch (Exception e) {e.printStackTrace();}}public static void shoot(Activity a) {savePic(takeScreenShot(a), "/sdcard/xxx.png");}}
更多相关文章
- android SpannableString使用详解
- android SQLite查询
- Android(安卓)代码监控apk安装,卸载,替换
- android数据库的简单例子
- Android(安卓)RecyclerView 滑动删除例子
- Android(安卓)代码监控apk安装,卸载,替换
- android,如果某个文件存在就删除
- Android(安卓)EditText 只能输入三行文本的实现方法
- 删除Android包