import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.Rect;import android.util.Log;import android.view.View;public class ScreenShot {    // 获取指定Activity的截屏,保存到png文件    private static Bitmap takeScreenShot(Activity activity) {        // View是你需要截图的View        View view = activity.getWindow().getDecorView();        view.setDrawingCacheEnabled(true);        view.buildDrawingCache();        Bitmap b1 = view.getDrawingCache();        // 获取状态栏高度        Rect frame = new Rect();        activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);        int statusBarHeight = frame.top;        Log.i("TAG", "" + statusBarHeight);        // 获取屏幕长和高        int width = activity.getWindowManager().getDefaultDisplay().getWidth();        int height = activity.getWindowManager().getDefaultDisplay()                .getHeight();        // 去掉标题栏        // Bitmap b = Bitmap.createBitmap(b1, 0, 25, 320, 455);        Bitmap b = Bitmap.createBitmap(b1, 0, statusBarHeight, width, height                - statusBarHeight);        view.destroyDrawingCache();        return b;    }    // 保存到sdcard    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 (FileNotFoundException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }    }    // 程序入口    public static void shoot(Activity a) {        ScreenShot.savePic(ScreenShot.takeScreenShot(a), "sdcard/xx.png");    }}  需要注意的是,shoot方法只能在view已经被加载后方可调用。或者在    @Override    public void onWindowFocusChanged(boolean hasFocus) {        // TODO Auto-generated method stub        super.onWindowFocusChanged(hasFocus);        ScreenShot.shoot(this);    }中调用

更多相关文章

  1. 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像
  2. android Dialog无法获取窗口问题闪退
  3. android 实时获取wifi信号强度
  4. Android(安卓)读取网络数据
  5. Android(安卓)View转换成图片保存
  6. android的Services生命周期和使用方法
  7. Android(安卓)handler异步更新
  8. Android实现左侧滑动菜单
  9. Unity调用Android保存图片到相册

随机推荐

  1. Android快速开发框架
  2. android之ListView布局
  3. 安卓手机常见名词解释
  4. MonkeyRunner与模拟器连接
  5. Android应用程序四大组件
  6. Android的布局控件----LinearLayout(线性
  7. Android 在 xml中定义图片
  8. android设置一个通用的控件,比如返回按钮
  9. Android:ImageView如何显示网络图片
  10. 实现ListView的item逐个飞入效果——Layo