Android之j截取全屏代码

来源:互联网 发布:游戏加密软件 编辑:程序博客网 时间:2024/05/16 13:01

分享一个简单的截屏代码。

1.主Activity

 
  1. package com.zhf.ScreenshotDemo;  
  2.   
  3. import Android.app.Activity;  
  4. import android.graphics.Bitmap;  
  5. import android.graphics.drawable.BitmapDrawable;  
  6. import android.os.Bundle;  
  7. import android.view.Display;  
  8. import android.view.View;  
  9. import android.view.View.OnClickListener;  
  10. import android.widget.Button;  
  11. import android.widget.ImageView;  
  12.   
  13. public class ScreenshotDemoActivity extends Activity {  
  14.     private Button shotButton;  
  15.     private ImageView imageView;  
  16.     @Override  
  17.     public void onCreate(Bundle savedInstanceState) {  
  18.         super.onCreate(savedInstanceState);  
  19.         setContentView(R.layout.main);  
  20.         shotButton=(Button)findViewById(R.id.shotButton);  
  21.         imageView=(ImageView)findViewById(R.id.imageView);  
  22.         shotButton.setOnClickListener(new OnClickListener() {  
  23.             @Override  
  24.             public void onClick(View v) {  
  25.                 //Bitmap-->Drawable  
  26.                 BitmapDrawable bd=new BitmapDrawable(shot());  
  27.                 imageView.setBackgroundDrawable(bd);  
  28. //              imageView.setImageBitmap(shot());  
  29.             }  
  30.         });  
  31.     }  
  32.   
  33.     /** 
  34.      * 截屏方法 
  35.      * @return 
  36.      */  
  37.     private Bitmap shot() {  
  38.         View view = getWindow().getDecorView();  
  39.         Display display = this.getWindowManager().getDefaultDisplay();  
  40.         view.layout(00, display.getWidth(), display.getHeight());  
  41.         view.setDrawingCacheEnabled(true);//允许当前窗口保存缓存信息,这样getDrawingCache()方法才会返回一个Bitmap  
  42.         Bitmap bmp = Bitmap.createBitmap(view.getDrawingCache());  
  43.         return bmp;  
  44.     }  
  45. }  

2.布局

 
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="vertical" >  
  6.     <ImageView android:id="@+id/imageView"  
  7.         android:layout_width="fill_parent"  
  8.         android:layout_height="350dip"  
  9.         />  
  10.   
  11.     <Button android:id="@+id/shotButton"  
  12.         android:layout_width="fill_parent"  
  13.         android:layout_height="wrap_content"  
  14.         android:text="shot"/>  
  15. </LinearLayout> 


1. 截屏函数似乎应该在onCreate方法之后调用,否则截取不到

2. 截取的图片比屏幕要小,看起来像是少了一个标题栏的高度


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小朋友爱动手怎么办4岁 5,6岁爱动手打人怎么办 七个月宝宝大便干燥怎么办 两岁宝宝吐奶怎么办 2岁宝宝轻微蛀牙怎么办 2岁宝宝喝水都吐怎么办 2岁宝宝吐的厉害怎么办 两岁宝宝个子矮怎么办 宝宝吐了一天了怎么办 3岁宝宝吃饭呕吐怎么办 3岁宝宝突然呕吐怎么办 11个月婴儿呕吐怎么办 2岁宝宝呕吐是怎么办 2岁宝宝呕吐腹泻怎么办 七个月的宝宝拉肚子怎么办 两岁宝宝玩手机怎么办 5岁宝宝突然口吃怎么办 3岁宝宝突然口吃怎么办 2岁半宝宝结巴怎么办 卤门2岁未闭合怎么办 宝宝2岁说话结巴怎么办 4岁半的宝宝口臭怎么办 2岁宝宝口气重怎么办 2岁宝宝有口气怎么办 2岁宝宝头大怎么办 2周宝宝讲话结巴怎么办 宝贝烧到39度怎么办 4岁宝宝有点口吃怎么办 不小心建了群聊怎么办 宝宝着凉了吐奶怎么办 宝宝便秘肛裂了怎么办 1岁多的宝宝便秘怎么办 8个月小宝宝便秘怎么办 跟他说话不说话怎么办 天猫客服不回复怎么办 三岁宝宝不说话怎么办 六个月宝宝粘人怎么办 11个月宝宝粘人怎么办 一岁宝宝脸冻了怎么办 2个月宝宝粘人怎么办 8个月宝宝粘人怎么办